/ / Як помістити запяті в шаблони django - django-templates

як розмістити коми в шаблонах django - django-templates

Я хотів би вивести наступний, використовуючи шаблони django:

Manhattan, NY, USA

з наступним кодом:

{{ city }}, {{ state }}, {{ country }}

Але іноді одна або декілька з цих змінних можуть бути порожніми. Скажемо, що змінна стану порожня, тоді вихід буде виглядати наступним чином:

Manhattan, , USA

Отже, моє запитання - чим найкраще керувати комами без використання декількох тверджень.

Дякую

Відповіді:

2 для відповіді № 1

Для досягнення цієї мети може бути фільтр шаблонів, але я не знаю про це. Таким чином, я напишу свій фільтр шаблонів, щоб додати рядок до кінця моїх значень. Було б використано так:

{{ city|suffix:", " }}{{ state|suffix:", " }}{{ country }}

Інформація про створення спеціальних фільтрів шаблонів знаходиться в документації Django тут:

https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

Ваш фільтр шаблонів буде виглядати приблизно так:

from django import template
register = template.Library()

@register.filter(name="suffix")
@stringfilter
def suffix(value, arg):
"Suffixes a string with the argument, only if the string is not empty"
if value:
return value + arg
return value

Хоча це буде працювати тільки якщо country завжди поставляється.


0 для відповіді № 2

Ви можете помістити всі змінні в список і використовуватифільтр приєднання або для циклу з єдиним оператором if. Хоча будь-яке з цих рішень вплине на чіткість та зручність читання вашого шаблону, і я, як правило, вважають за краще, якщо висловлювання в таких випадках, особливо якщо елементи, розділені комами, пов'язані з більш складним HTML.