использовать встроенный фильтр django в коде (вне шаблона) - PullRequest
13 голосов
/ 07 апреля 2011

Я форматирую строку в python и хотел бы использовать один из встроенных фильтров django, который обычно используется в шаблоне. Есть ли простой способ использовать его в строках кода?

Ответы [ 3 ]

32 голосов
/ 07 апреля 2011

Вообще-то да. Например, если ваш фильтр находится в django.template.defaultfilters , вы можете запустить:

from django.template.defaultfilters import slugify
slugify('what is that smell')
3 голосов
/ 07 апреля 2011

Зависит от фильтра. В некоторых случаях вы можете импортировать модуль, который содержит фильтр, и получить доступ к вспомогательной функции внутри модуля, но в других случаях вам не повезет. Подробнее см. Источник фильтра.

1 голос
/ 09 марта 2018

Вместо использования этого в шаблоне:

{{text | linebreaks}}

Я использовал это для реализации фильтра разрыва строки:

from django.template.defaultfilters import linebreaks
text = "some text \n next line"
text = linebreaks(text)

дает:

<p>some text <br /> new line</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...