{% for record in records%}
string1 = 'views.' + record.field1 + record.field2
<a href ="{%url string1 %}>Test this</a>
{%endfor%}
这可能在HTML / Django中吗? 我需要动态地创建变量'string1'并将其传递给url。 请求帮助。
答案 0 :(得分:0)
使用{% 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 %}