在Django模板中为应用程序名{%url%}使用变量
在我的模板中,我想引用某个URL,比如说它名为在Django模板中为应用程序名{%url%}使用变量,django,Django,在我的模板中,我想引用某个URL,比如说它名为homepage。然而,这个命名的URL在我的两个应用程序中都可用,我使用的html页面有时需要引用一个应用程序,有时需要引用另一个应用程序。我现在有这个: <a href="{% if app_name == 'app1' %}{% url 'app1:homepage' %}{% else %}{% url 'app2:homepage' %}{% endif %}">link</a> 这不是很好
homepage
。然而,这个命名的URL在我的两个应用程序中都可用,我使用的html页面有时需要引用一个应用程序,有时需要引用另一个应用程序。我现在有这个:
<a href="{% if app_name == 'app1' %}{% url 'app1:homepage' %}{% else %}{% url 'app2:homepage' %}{% endif %}">link</a>
这不是很好,也不能很好地扩展(有时这里最多可以使用4个应用程序)。理想情况下,我会使用如下内容:
<a href="{% url app_name + ':homepage' %}">link</a>
但这不起作用。有没有办法在url中使用应用程序名称作为变量?试试以下方法:
{% with dynamic_app_url=app_name|add:":"|add:"homepage" %}
<a href="{% url dynamic_app_url %}">link</a>
{% endwith %}
{%with dynamic_app_url=app_name | add:“:”| add:“homepage”%}
{%endwith%}