如何在'include'标记内访问{%url"name"%}

Mil*_*ano 0 django django-templates

我无法弄清楚如何在另一个{% %}标签内获取{%url"name"%}的值.在我的情况下它include

{% include "file" with next={% url "name" %} %}
Run Code Online (Sandbox Code Playgroud)

这不起作用.你知道该怎么办吗?我会围绕{% include..,{% with但它会导致同样的问题.

kon*_*iik 5

django模板的快速回答:

{% url "name" as my_url_context_var %}
{% include "file" with next=my_url_context_var %}
Run Code Online (Sandbox Code Playgroud)

更长的解释:

你不能窝{% … %}{{ … }}.打开时{{ … }},您只能在内部使用上下文变量,可选择与模板过滤器结合使用.里面{% … %},你只能使用任何你正在使用的标签识别,但在一般情况下,这将是短短的参数,其中有些是静态的话(比如asurl上面,或withinclude),而且往往你也可以像内部一样访问模板变量和过滤器{{ … }}.

我对jinja并不熟悉,但似乎它include不支持与django一样的变量传递include,所以这里有一个关于jinja可能是什么样子的想法:

{% set next=url('name') %}
{% include "file" %}
Run Code Online (Sandbox Code Playgroud)