Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django模板中为应用程序名{%url%}使用变量_Django - Fatal编程技术网

在Django模板中为应用程序名{%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> 这不是很好

在我的模板中,我想引用某个URL,比如说它名为
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%}