将命名URL的值分配给Django模板中的变量
在Django模板中,我需要将names url的值分配到with块中的变量中,以便在多个位置使用它 我需要实现这样的目标:将命名URL的值分配给Django模板中的变量,django,Django,在Django模板中,我需要将names url的值分配到with块中的变量中,以便在多个位置使用它 我需要实现这样的目标: {% for tag in post.tags.all %} {% with tagabs={%url showtag tag%} %} <li><a href="{{tagabs}}">#{{tag}}</a></li> {% endwith %} {% endfor %} {%for
{% for tag in post.tags.all %}
{% with tagabs={%url showtag tag%} %}
<li><a href="{{tagabs}}">#{{tag}}</a></li>
{% endwith %}
{% endfor %}
{%for post.tags.all%中的标记]
{%with TAGAB={%url showtag tag%}%}
{%endwith%}
{%endfor%}
但很明显,这不起作用,最终会导致解析错误。上面的例子是一个简单的场景,我可以用{%url showtag tag%}代替{{tagabs}}并删除with块。但是在我的场景中,我需要在几个地方和if语句中使用tagabs值进行比较
感谢您的帮助。我认为您必须创建自己的来管理此问题,或者在视图中创建必要的数据并将其传递给模板 具体取决于您正试图做什么,也许另一个模板并发送您定义的变量可以做到这一点,但我对此表示怀疑
Djangos模板系统背后的思想是使其成为模板,这样模板中就没有太多的逻辑。因此,现在又回到了准备视图中输出所需的数据或制作模板标记的阶段。如果功能位于core中,为什么要创建新的模板标记/过滤器 请看以下示例:
{%url'path.to.view'arg arg2作为\u url%}
及
{%url'path.to.view'作为\u url%}
{%if_url%}
{%endif%}
请您提供更多关于更大问题的信息好吗?非常好的建议,绝对比新标签优雅得多。谢谢作为
的语句不会被呈现(它是如何工作的)。稍后你可以使用这个变量,因为我理解这个问题的方式与我所知道的任何核心行为都不匹配。在我看来,有人试图在视图中进行复杂的操作,而不仅仅是简单地命名URL。
{% url 'path.to.view' arg arg2 as the_url %}
<a href="{{ the_url }}">I'm linking to {{ the_url }}</a>
{% url 'path.to.view' as the_url %}
{% if the_url %}
<a href="{{ the_url }}">Link to optional stuff</a>
{% endif %}