我对 Django 和 HTML 很陌生。我的模板中有以下内容:
{% if user.is_authenticated %}
<a href='{% url 'vote' %}' id='story-vote-{{ story.id }}' class='vote'><img src='{{ STATIC_URL }}images/arrow.gif'></a>
{% else %}
<a href='{% url 'login' %}' id='story-vote-{{ story.id }}' class='vote'><img src='{{ STATIC_URL }}images/arrow.gif'></a>
{% endif %}
所以只有 URL 不同,但 id 和 image 是一样的。如何避免这种重复?我会做这样的事情:
{% var link %} {# pseudo-code #}
{% if user.is_authenticated %}
link = 'vote'
{% else %}
link = 'login'
{% endif %}
<a href='{% url link %}' id='story-vote-{{ story.id }}' class='vote'><img src='{{ STATIC_URL }}images/arrow.gif'></a>
这是个好主意吗?我知道 Django 不支持局部变量,但是有站点包可以解决这个问题。还是更好地处理视图中的逻辑并link
作为参数传递给模板?
那么真正的 Django 方式是什么?