пятница, 7 сентября 2012 г.

Django Часто используесые тэги шаблонов в проектах

 {# Комментарий #} - комменатрий.


{% include "foo/bar.html" %} - подставляет в шаблон содержимое из файла.

{% load somelibrary package.otherlibrary %} - загружает набор тэгов из файла Python.

{% if DEBUG %}{{ text }}{% endif %} 0 выводит информацию из переменной, если DEBUG равен True.

{{ data.usd.time }} - подстановка в шаблон значения из переменной.

{% for item in list %} - в цикле подставляет содержимое.

{% for obj in list reversed %} - пройтись в цикле по элементам, начиная с конца.


<div class="breadcrumbs"><p>
{% for item in breadcrumbs %}
    {% if forloop.last %}
            {{ item.title }}
        {% else %}
            <a href="{{ item.url }}">{{ item.title }}</a>
       {% endif %}
{% endfor %}
</p></div>

{% for item in link %}
    {% if item %}<a href="{{ item }}">{{ item }}</a>{%if not forloop.last%}, {%endif%}{% endif %}
{% endfor %}

{% if the_url %} - если условие TRUE, то производится набор действий.
    <a href="{{ the_url }}">Link to optional stuff</a>
{% endif %}

{% ifequal user.id comment.user_id %} - если переменные идентичны, то производится набор действий.
    ...
{% endifequal %}


{% ifnotequal user.username "adrian" %} - если переменные не идентичны,  то производится набор действий.
    ...
{% endifvequal %}


{% firstof var1 var2 var3 %} - выводи значение первой переменной из списка, значение котрой не равно False.

{% autoescape off %} - включает/выключает использование escape-последовательностей для содержимого внутри тэгов.
    {{ body }}
{% endautoescape %}


{% spaceless %} - удаляет все пробелы в HTML-тэгах.
    <p>
        <a href="foo/">Foo</a>
    </p>
{% endspaceless %}


Стало: <p><a href="foo/">Foo</a></p>

{% regroup cities by country as country_list %} - пересортировать содержимое массива, по какому-то его значению.

<td class="purchase digits">{{row.usd_bid|floatformat:"4"|default:"<center>-</center>"|safe}}</td> - форматеры содержимого.

Форматеры

floatformat:3 Было:  34.23234
Стало: 34.232

truncatewords:2 - удаляет слова.
Было:  Joel is a slug
Стало: Joel is

truncatewords_html:2 - удаляет слова, но не HTML-тэги.
Было:  <p>Joel is a slug</p>
Стало: <p>Joel is</p> 

striptags - удаляет все HTML-тэги.
Было: <b>Joel</b> <button>is</button> a <span>slug</span>
Стадо: Joel is a slug

default: "Да" - если значение перемееной будет равно false, то в место нее подставится значение из default.

default_if_none:"пусто" - если значение переменной None, то выведет строку с текстом.

safe - если фильтры записаны в цепочку, то после safe escape-последовательность не используется.

date:"d.m.y" - форматирует дату.

linebreaksbr - заменяет разрывы строк \n на тэги <br />.
Было: Joel\nis a slug
Стало: Joel<br />is a slug

slice:":2" - вырезает некотрое число элементов из массива.
Было: some_list ['a', 'b', 'c']
Стало: some_list ['a', 'b']

length - возвращает число элементов в массиве или число символов в строке.

lower - переводит все символы из переменной в нижний регистр.

removetags:"b span" - удалить тэги из строки.
Было: <b>Joel</b> <button>is</button> a <span>slug</span>
Стало: Joel <button>is</button> a slug


dictsort:"name" - сортирует массив по заданному элементу.

Было:
[
    {'name': 'zed', 'age': 19},
    {'name': 'amy', 'age': 22},
    {'name': 'joe', 'age': 31},
]

Стало:
[
    {'name': 'amy', 'age': 22},
    {'name': 'joe', 'age': 31},
    {'name': 'zed', 'age': 19},
]

dictsortreversed:"izm" - сортирует массив по заданному элементу в обратном порядке.

Комментариев нет:

Отправить комментарий