Программа учета для Simpla Обработка заказов, учет товаров, простая интеграция. Бесплатный тариф! Узнать больше moysklad ru



Download 10,48 Mb.
bet1/6
Sana03.01.2022
Hajmi10,48 Mb.
#317312
TuriПрограмма
  1   2   3   4   5   6

Django.fun

Документация Новости Статьи Советы Видео Классы-представления Django Python

Документация по фреймворку Django

Documentation for developers

Язык: ru

Версия: 2.2

Встроенные теги и фильтры шаблонов¶

Этот документ описывает встроенные теги и фильтры шаблонов Django. Рекомендуется использовать автоматическую документацию, если таковая имеется, поскольку она также будет включать документацию для любых установленных пользовательских тегов или фильтров.

Программа учета для Simpla

Обработка заказов, учет товаров, простая интеграция. Бесплатный тариф!

Узнать больше

moysklad.ru

РЕКЛАМА

18+


Справочник по встроенным тегам¶

autoescape¶

Управляет текущим автоматическим экранированием. Этот тег принимает в качестве аргумента либо on, либо off и определяет, действует ли автоматическое экранирование внутри блока. Блок закрывается конечным тегом endautoescape.

Когда действует автоматическое экранирование, ко всему содержимому переменных применяется экранирование HTML перед помещением результата в вывод (но после применения любых фильтров). Это эквивалентно применению фильтра escape вручную к каждой переменной.

Единственными исключениями являются переменные, которые уже помечены как «безопасные» от экранирования либо кодом, который заполняет переменную, либо потому, что к ним применены фильтры safe или escape.

Пример использования:

{% autoescape on %}

{{ body }}

{% endautoescape %}

block¶


Определяет блок, который может быть переопределен дочерними шаблонами. Смотрите Наследование шаблонов для получения дополнительной информации.

Бесплатная видео аналитика

Каждый день! Разбор рынков по Волнам Эллиотта. Торговля CFD связана с риском.

Узнать больше

promo.fxpro.com

Содействие в подборе финансовых услуг/организаций

РЕКЛАМА

comment¶


Игнорирует все, что находится между {% comment %} и {% endcomment %}. Необязательное примечание может быть вставлено в первый тег. Например, это полезно при комментировании кода для документирования того, почему код был отключен.

Пример использования:


Rendered text with {{ pub_date|date:"c" }}


{% comment "Optional note" %}


Commented out text with {{ create_date|date:"c" }}


{% endcomment %}

Теги comment не могут быть вложенными.

csrf_token¶

Этот тег используется для защиты CSRF, как описано в документации для Подделки межсайтовых запросов.

Курс «Верстка сайтов на HTML и CSS»

Обучение Веб-программированию со скидкой 40%. Помощь в трудоустройстве

Узнать больше

skillbox.ru

РЕКЛАМА


cycle¶

Производит один из своих аргументов каждый раз, когда встречается этот тег. Первый аргумент возникает при первой встрече, второй аргумент - при второй встрече и так далее. Как только все аргументы исчерпаны, тег циклически переходит к первому аргументу и производит его снова.

Этот тег особенно полезен в цикле:

{% for o in some_list %}



...


{% endfor %}

Первая итерация создает HTML-код, который ссылается на класс row1, второй - на row2, третий снова на row1 и так далее для каждой итерации цикла.

Вы также можете использовать переменные. Например, если у вас есть две переменные шаблона, rowvalue1 и rowvalue2, вы можете чередовать их значения следующим образом:

{% for o in some_list %}

...


{% endfor %}

Переменные, включенные в цикл, будут экранированы. Вы можете отключить автоматическое экранирование с помощью:

{% for o in some_list %}



...


{% endfor %}

Вы можете смешивать переменные и строки:

{% for o in some_list %}



...


{% endfor %}

В некоторых случаях вы можете захотеть обратиться к текущему значению цикла, не переходя к следующему значению. Для этого просто дайте тегу {% cycle %} имя, используя «as», например:

{% cycle 'row1' 'row2' as rowcolors %}

С этого момента вы можете вставить текущее значение цикла в любое место вашего шаблона, указав имя цикла как контекстную переменную. Если вы хотите переместить цикл к следующему значению независимо от исходного тега cycle, вы можете использовать другой тег cycle и указать имя переменной. Итак, следующий шаблон:















выведет:
















В теге цикла можно использовать любое количество значений, разделенных пробелами. Значения, заключенные в одинарные кавычки (') или двойные кавычки ("), обрабатываются как строковые литералы, а значения без кавычек обрабатываются как переменные шаблона.

По умолчанию, когда вы используете ключевое слово as с тегом цикла, использование {% cycle %}, которое запускает цикл, само генерирует первое значение в цикле. Это может быть проблемой, если вы хотите использовать значение во вложенном цикле или во включенном шаблоне. Если вы хотите только объявить цикл, но не вывести первое значение, вы можете добавить ключевое слово silent в качестве последнего ключевого слова в теге. Например:

{% for obj in some_list %}

{% cycle 'row1' 'row2' as rowcolors silent %}

{% include "subtemplate.html" %}

{% endfor %}

Это выведет список элементов

, где class чередуется между row1 и row2. Подшаблон будет иметь доступ к rowcolors в своем контексте, а значение будет соответствовать классу окружающего его элемента . Если бы ключевое слово silent было опущено, row1 и row2 были бы выданы как обычный текст, за пределами элемента .

Когда ключевое слово silent используется в определении цикла, тишина автоматически применяется ко всем последующим использованиям этого конкретного тега цикла. Следующий шаблон выведет ничего, даже если второй вызов {% cycle %} не указывает silent:

{% cycle 'row1' 'row2' as rowcolors silent %}

{% cycle rowcolors %}

Вы можете использовать тег resetcycle, чтобы перезапустить тег {% cycle %} с его первого значения, когда он встретится в следующий раз.

debug¶


Выводит полный набор отладочной информации, включая текущий контекст и импортированные модули.

extends¶


Сигнализирует, что этот шаблон расширяет родительский шаблон.

Этот тег можно использовать двумя способами:

{% extends "base.html" %} (в кавычках) использует буквальное значение "base.html" в качестве имени родительского шаблона для расширения.

{% extends variable %} использует значение variable. Если переменная вычисляется как строка, Django будет использовать эту строку как имя родительского шаблона. Если переменная оценивается как объект Template, Django будет использовать этот объект в качестве родительского шаблона.

Смотрите Наследование шаблона для получения дополнительной информации.

Обычно имя шаблона указывается относительно корневого каталога загрузчика шаблонов. Строковый аргумент также может быть относительным путем, начинающимся с ./ или ../. Например, предположим следующую структуру каталогов:

dir1/

template.html



base2.html

my/


base3.html

base1.html

В шаблоне template.html допустимы следующие пути:

{% extends "./base2.html" %}

{% extends "../base1.html" %}

{% extends "./my/base3.html" %}

Бесплатная видео аналитика

Каждый день! Разбор рынков по Волнам Эллиотта. Торговля CFD связана с риском.

Узнать больше

promo.fxpro.com

Содействие в подборе финансовых услуг/организаций

РЕКЛАМА


filter¶

Фильтрует содержимое блока с помощью одного или нескольких фильтров. С помощью конвейеров можно указать несколько фильтров, а фильтры могут иметь аргументы, как и в синтаксисе переменных.

Обратите внимание, что блок включает весь текст между тегами filter и endfilter.

Пример использования:

{% filter force_escape|lower %}

This text will be HTML-escaped, and will appear in all lowercase.

{% endfilter %}

Примечание

Фильтры escape и :filter:`safe` не являются приемлемыми аргументами. Вместо этого используйте тег autoescape для управления автоматическим экранированием блоков кода шаблона.

firstof¶


Выводит первую переменную аргумента, отличную от False. Ничего не выдает, если все переданные переменные имеют значение False.

Пример использования:

{% firstof var1 var2 var3 %}

Это эквивалентно:

{% if var1 %}

{{ var1 }}

{% elif var2 %}

{{ var2 }}

{% elif var3 %}

{{ var3 }}

{% endif %}

Вы также можете использовать буквальную строку в качестве резервного значения в случае, если все переданные переменные имеют значение False:

{% firstof var1 var2 var3 "fallback value" %}

Этот тег автоматически экранирует значения переменных. Вы можете отключить автоматическое экранирование с помощью:

{% autoescape off %}

{% firstof var1 var2 var3 "fallback value" %}

{% endautoescape %}

Или, если нужно экранировать только некоторые переменные, вы можете использовать:

{% firstof var1 var2|safe var3 "fallback value"|safe %}

Вы можете использовать синтаксис {% firstof var1 var2 var3 as value %} для сохранения вывода внутри переменной.

Бесплатная видео аналитика

Каждый день! Разбор рынков по Волнам Эллиотта. Торговля CFD связана с риском.

Узнать больше

promo.fxpro.com

Содействие в подборе финансовых услуг/организаций

РЕКЛАМА


for¶

делает цикл по каждому элементу в массиве, делая элемент доступным в переменной контекста. Например, чтобы отобразить список спортсменов из athlete_list:



    {% for athlete in athlete_list %}



  • {{ athlete.name }}
  • {% endfor %}



Вы можете перебрать список в обратном порядке, используя {% for obj in list reversed %}.

Если вам нужно перебрать список списков, вы можете распаковать значения в каждом подсписке в отдельные переменные. Например, если ваш контекст содержит список координат (x, y), называемый points, вы можете использовать следующее для вывода списка точек:

{% for x, y in points %}

There is a point at {{ x }},{{ y }}

{% endfor %}

Это также может быть полезно, если вам нужно получить доступ к элементам в словаре. Например, если ваш контекст содержит словарь data, следующее будет отображать ключи и значения словаря:

{% for key, value in data.items %}

{{ key }}: {{ value }}

{% endfor %}

Имейте в виду, что для оператора точки поиск ключа словаря имеет приоритет над поиском метода. Поэтому, если словарь data содержит ключ с именем 'items', data.items вернет data['items'] вместо data.items(). Избегайте добавления ключей с именами как словарные методы, если вы хотите использовать эти методы в шаблоне (items, values, keys и т.д.). Дополнительные сведения о порядке поиска оператора точки смотрите в документации по переменным шаблона.

Цикл for устанавливает ряд переменных, доступных в цикле:

Переменная Описание

forloop.counter Текущая итерация цикла (начинается с индекса 1)

forloop.counter0 Текущая итерация цикла (начинается с индекса 0)

forloop.revcounter Количество итераций с конца цикла (начинается с индекса 1)

forloop.revcounter0 Количество итераций с конца цикла (начинается с индекса 0)

forloop.first True, если это первая итерация цикла

forloop.last True, если это последняя итерация цикла

forloop.parentloop Для вложенных циклов это цикл, окружающий текущий.

for … empty¶

Тег for может принимать необязательное предложение {% empty %}, текст которого отображается, если данный массив пуст или не может быть найден:



    {% for athlete in athlete_list %}



  • {{ athlete.name }}
  • {% empty %}



  • Sorry, no athletes in this list.
  • {% endfor %}



Вышеупомянутое эквивалентно - но короче, чище и, возможно, быстрее - следующему:



    {% if athlete_list %}

    {% for athlete in athlete_list %}

  • {{ athlete.name }}
  • {% endfor %}

    {% else %}

  • Sorry, no athletes in this list.
  • {% endif %}



if¶


The {% if %} tag evaluates a variable, and if that variable is «true» (i.e. exists, is not empty, and is not a false boolean value) the contents of the block are output:

{% if athlete_list %}

Number of athletes: {{ athlete_list|length }}

{% elif athlete_in_locker_room_list %}

Athletes should be out of the locker room soon!

{% else %}

No athletes.

{% endif %}

In the above, if athlete_list is not empty, the number of athletes will be displayed by the {{ athlete_list|length }} variable.

As you can see, the if tag may take one or several {% elif %} clauses, as well as an {% else %} clause that will be displayed if all previous conditions fail. These clauses are optional.

Бесплатная видео аналитика

Каждый день! Разбор рынков по Волнам Эллиотта. Торговля CFD связана с риском.

Узнать больше

promo.fxpro.com

Содействие в подборе финансовых услуг/организаций

РЕКЛАМА


Boolean operators¶

if tags may use and, or or not to test a number of variables or to negate a given variable:

{% if athlete_list and coach_list %}

Both athletes and coaches are available.

{% endif %}

{% if not athlete_list %}

There are no athletes.

{% endif %}

{% if athlete_list or coach_list %}

There are some athletes or some coaches.

{% endif %}

{% if not athlete_list or coach_list %}

There are no athletes or there are some coaches.

{% endif %}

{% if athlete_list and not coach_list %}

There are some athletes and absolutely no coaches.

{% endif %}

Use of both and and or clauses within the same tag is allowed, with and having higher precedence than or e.g.:

{% if athlete_list and coach_list or cheerleader_list %}

will be interpreted like:

if (athlete_list and coach_list) or cheerleader_list

Use of actual parentheses in the if tag is invalid syntax. If you need them to indicate precedence, you should use nested if tags.

if tags may also use the operators ==, !=, <, >, <=, >=, in, not in, is, and is not which work as follows:

== operator¶

Equality. Example:

{% if somevar == "x" %}

This appears if variable somevar equals the string "x"

{% endif %}

Курс «Верстка сайтов на HTML и CSS»

Обучение Веб-программированию со скидкой 40%. Помощь в трудоустройстве

Узнать больше

skillbox.ru

РЕКЛАМА

!= operator¶

Inequality. Example:

{% if somevar != "x" %}

This appears if variable somevar does not equal the string "x",

or if somevar is not found in the context

{% endif %}

< operator¶

Less than. Example:

{% if somevar < 100 %}

This appears if variable somevar is less than 100.

{% endif %}

> operator¶

Greater than. Example:

{% if somevar > 0 %}

This appears if variable somevar is greater than 0.

{% endif %}

Бесплатная видео аналитика

Каждый день! Разбор рынков по Волнам Эллиотта. Торговля CFD связана с риском.

Узнать больше

promo.fxpro.com

Содействие в подборе финансовых услуг/организаций

РЕКЛАМА


<= operator¶

Less than or equal to. Example:

{% if somevar <= 100 %}

This appears if variable somevar is less than 100 or equal to 100.

{% endif %}

>= operator¶

Greater than or equal to. Example:

{% if somevar >= 1 %}

This appears if variable somevar is greater than 1 or equal to 1.

{% endif %}

Разработка сайтов на Python(Django)

Выпускники МФТИ. Разрабатываем сайты на Python с 2007 года. Стоимость: 1500 руб/час

Узнать больше

kivano.ru

РЕКЛАМА

in operator¶

Contained within. This operator is supported by many Python containers to test whether the given value is in the container. The following are some examples of how x in y will be interpreted:

{% if "bc" in "abcdef" %}

This appears since "bc" is a substring of "abcdef"

{% endif %}

{% if "hello" in greetings %}

If greetings is a list or set, one element of which is the string

"hello", this will appear.

{% endif %}

{% if user in users %}

If users is a QuerySet, this will appear if user is an

instance that belongs to the QuerySet.

{% endif %}

not in operator¶

Not contained within. This is the negation of the in operator.

is operator¶

Object identity. Tests if two values are the same object. Example:

{% if somevar is True %}

This appears if and only if somevar is True.

{% endif %}

{% if somevar is None %}

This appears if somevar is None, or if somevar is not found in the context.

{% endif %}

is not operator¶

Negated object identity. Tests if two values are not the same object. This is the negation of the is operator. Example:

{% if somevar is not True %}

This appears if somevar is not True, or if somevar is not found in the

context.

{% endif %}

{% if somevar is not None %}

This appears if and only if somevar is not None.

{% endif %}

Filters¶


You can also use filters in the if expression. For example:

{% if messages|length >= 100 %}

You have lots of messages today!

{% endif %}

Complex expressions¶

All of the above can be combined to form complex expressions. For such expressions, it can be important to know how the operators are grouped when the expression is evaluated - that is, the precedence rules. The precedence of the operators, from lowest to highest, is as follows:

or

and


not

in

==, !=, <, >, <=, >=



(This follows Python exactly). So, for example, the following complex if tag:

{% if a == b or c == d and e %}

…will be interpreted as:

(a == b) or ((c == d) and e)

If you need different precedence, you will need to use nested if tags. Sometimes that is better for clarity anyway, for the sake of those who do not know the precedence rules.

The comparison operators cannot be „chained“ like in Python or in mathematical notation. For example, instead of using:

{% if a > b > c %} (WRONG)

you should use:

{% if a > b and b > c %}

ifequal and ifnotequal¶

{% ifequal a b %} ... {% endifequal %} is an obsolete way to write {% if a == b %} ... {% endif %}. Likewise, {% ifnotequal a b %} ... {% endifnotequal %} is superseded by {% if a != b %} ... {% endif %}. The ifequal and ifnotequal tags will be deprecated in a future release.

ifchanged¶

Check if a value has changed from the last iteration of a loop.

The {% ifchanged %} block tag is used within a loop. It has two possible uses.

Checks its own rendered contents against its previous state and only displays the content if it has changed. For example, this displays a list of days, only displaying the month if it changes:

... ...
... ...
... ...
... ...

Download 10,48 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish