{% for record in records%}
string1 = 'views.' + record.field1 + record.field2
<a href ="{%url string1 %}>Test this</a>
{%endfor%}
这在 HTML / Django 中可行吗?我需要动态地制作变量'string1'并将其传递给url。请求帮助。
{% for record in records%}
string1 = 'views.' + record.field1 + record.field2
<a href ="{%url string1 %}>Test this</a>
{%endfor%}
这在 HTML / Django 中可行吗?我需要动态地制作变量'string1'并将其传递给url。请求帮助。
使用{% with %}
{% with "views."|add:record.field1|add:record.field2 as string1 %}
<a href="{% url string1 %}">Test this</a>
{% endwith %}
但这不被认为是 IMO 的最佳实践,因为您有效地将逻辑放入模板中。
这应该由record
模型上的方法处理,可能是调用field_url
或其他方法。这样您就不会违反 DRY,也不会冒任何其他人弄乱您的网址的风险,而且您将有机会在公开网址之前正确清理您的网址。
def field_url(self):
return "views.{0}{1}".format(self.field1, self.field2)
并在您的模板中调用
{% for record in records %}
<a href="{% url record.field_url %}">My URL</a>
{% endfor %}