mirror of
https://github.com/django/django.git
synced 2025-01-03 15:06:09 +00:00
Fixed #14831 -- Extended template style guide in docs.
This commit is contained in:
parent
7326513a8f
commit
f2c3524959
@ -214,20 +214,149 @@ Imports
|
|||||||
Template style
|
Template style
|
||||||
==============
|
==============
|
||||||
|
|
||||||
* In Django template code, put one (and only one) space between the curly
|
Follow the below rules in Django template code.
|
||||||
brackets and the tag contents.
|
|
||||||
|
* ``{% extends %}`` should be the first non-comment line.
|
||||||
|
|
||||||
Do this:
|
Do this:
|
||||||
|
|
||||||
.. code-block:: html+django
|
.. code-block:: html+django
|
||||||
|
|
||||||
{{ foo }}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1 class="font-semibold text-xl">
|
||||||
|
{{ pages.title }}
|
||||||
|
</h1>
|
||||||
|
{% endblock content %}
|
||||||
|
|
||||||
|
Or this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{# This is a comment #}
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1 class="font-semibold text-xl">
|
||||||
|
{{ pages.title }}
|
||||||
|
</h1>
|
||||||
|
{% endblock content %}
|
||||||
|
|
||||||
Don't do this:
|
Don't do this:
|
||||||
|
|
||||||
.. code-block:: html+django
|
.. code-block:: html+django
|
||||||
|
|
||||||
{{foo}}
|
{% load i18n %}
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1 class="font-semibold text-xl">
|
||||||
|
{{ pages.title }}
|
||||||
|
</h1>
|
||||||
|
{% endblock content %}
|
||||||
|
|
||||||
|
* Put exactly one space between ``{{``, variable contents, and ``}}``.
|
||||||
|
|
||||||
|
Do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{{ user }}
|
||||||
|
|
||||||
|
Don't do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{{user}}
|
||||||
|
|
||||||
|
* In ``{% load ... %}``, list libraries in alphabetical order.
|
||||||
|
|
||||||
|
Do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% load i18n l10 tz %}
|
||||||
|
|
||||||
|
Don't do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% load l10 i18n tz %}
|
||||||
|
|
||||||
|
* Put exactly one space between ``{%``, tag contents, and ``%}``.
|
||||||
|
|
||||||
|
Do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% load humanize %}
|
||||||
|
|
||||||
|
Don't do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{%load humanize%}
|
||||||
|
|
||||||
|
* Put the ``{% block %}`` tag name in the ``{% endblock %}`` tag if it is not
|
||||||
|
on the same line.
|
||||||
|
|
||||||
|
Do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% block header %}
|
||||||
|
|
||||||
|
Code goes here
|
||||||
|
|
||||||
|
{% endblock header %}
|
||||||
|
|
||||||
|
Don't do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% block header %}
|
||||||
|
|
||||||
|
Code goes here
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
* Inside curly braces, separate tokens by single spaces, except for around the
|
||||||
|
``.`` for attribute access and the ``|`` for a filter.
|
||||||
|
|
||||||
|
Do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% if user.name|lower == "admin" %}
|
||||||
|
|
||||||
|
Don't do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% if user . name | lower == "admin" %}
|
||||||
|
|
||||||
|
{{ user.name | upper }}
|
||||||
|
|
||||||
|
* Within a template using ``{% extends %}``, avoid indenting top-level
|
||||||
|
``{% block %}`` tags.
|
||||||
|
|
||||||
|
Do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
Don't do this:
|
||||||
|
|
||||||
|
.. code-block:: html+django
|
||||||
|
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
...
|
||||||
|
|
||||||
View style
|
View style
|
||||||
==========
|
==========
|
||||||
|
Loading…
Reference in New Issue
Block a user