Я хочу, чтобы переменная имела разные значения в зависимости от того, существует ли переменная, возможно ли это? Мой нерабочий пример может сделать его более ясным:
{% if username %}
{% with menu_user=username %}
{% elif recent_users %}
{% with sorted_users=recent_users|dictsortreversed:"timestamp" %}
{% with menu_user=sorted_users.0.username %}
{% endif %}
{% if menu_user %}
<div id="menu">
<ul>
<li><a href="/user/{{ menu_user|urlencode }}">Profile</a></li>
<li><a href="/user/{{ menu_user|urlencode }}/products/">Products</a></li>
</ul>
</div>
{% endif %}
{% if recent_users %}
{% endwith %}
{% endif %}
{% endwith %}
Псевдокод того, что я пытаюсь сделать:
if username:
menu_user = username
elif recent_users:
menu_user = sorted(recent_users)[0]['username']
if menu_user:
<div id="menu">
<ul>
<li><a href="/user/{{ menu_user|urlencode }}">Profile</a></li>
<li><a href="/user/{{ menu_user|urlencode }}/products/">Products</a></li>
</ul>
</div>