Конкатенация строк шаблона Django, основанная на количестве непустых переменных - PullRequest
1 голос
/ 23 мая 2019

У меня есть две строковые переменные, которые я хочу отобразить в шаблоне Django.Если переменная a пуста, не отображать ее.Аналогично с б.Но если a и b не являются пустыми, объедините две строки с помощью «&».

Вот логика в Python.

res = ''
if a != '':
    res = a

if b != '':
    if res == '':
        res = b
    else:
        res = res + ' & ' + b

print(res)

Как бы я записал эту логику в шаблон Django?

Ответы [ 3 ]

2 голосов
/ 23 мая 2019

Как уже отмечали другие, проще написать это в вашем представлении вместо шаблона .

Если вы действительно хотите:

{% if a != '' and b != '' %}
  {{ a }}&{{ b }}
{% elif a != '' and b == '' %}
  {{ a }}
{% elif a == '' and b != '' %}
  {{ b }}
{% else %}
  {# You didn't mention #}
{% endif %}
2 голосов
/ 23 мая 2019

вы должны написать эту логику как комментарий @ruddra, но если вы придерживаетесь шаблона django, вы можете попробовать это:

{% if a == ' ' %}
    {% if b == ' ' %}
        res = ''
    {% else %}
        res = {{b}}
    {% endif %}
{% else %}
    {% if b == ' ' %}
        res = {{a}}
    {% else %}
        res = {{a}} & {{b}}
    {% endif %}
{% endif %}
1 голос
/ 23 мая 2019
res=''
if a !='': 
     if b!='':
          res= a + '&' + b     
     else:
          print('b is empty')
else:
     print('a is empty')

print(res)

если res пусто, его ничего не печатать

...