#34230 closed Uncategorized (invalid)

Django templates shouldn't use a .html extension

Reported by: Amin Shah Gilani Owned by: nobody
Component: Template system Version: 4.1
Severity: Normal Keywords: django-
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Hello,

Only my second time filing a ticket so please go easy on me.

Django's templates use a .html file extension. This is incorrect and causes issues:

  • The files aren't HTML, they're template files
  • Linters associated with .html extensions expect HTML and will attempt to format them
  • Tools that calculate metrics associated with HTML files won't recognize that the files aren't HTML

Ruby/Rails gets around this issue by using the .html.erb (Embedded Ruby) extension, and there are comparable examples in other ecosystems like the .html.ejs (Embedded JavaScript) templating language.

I believe Django can get around this with a similar terminating extension, e.g. .html.dtl (Django Templating), or .html.django, or even .html.djgo.

Adopting an extension for the templating language will make things easier out of the box.

Change History (1)

comment:1 by Mariusz Felisiak, 17 months ago

Component: UncategorizedTemplate system
Resolution: invalid
Status: newclosed

Django's templates use a .html file extension. This is incorrect and causes issues:

As far as I'm aware, that's not true. Django's template system allows you to use any extension that you want, .txt, .html, .my_custom_exception etc.

Note: See TracTickets for help on using tickets.
Back to Top