我有一个 django 视图,它声明了一个目标变量:
target = "name_of_next_view_to_call"
return render(request, template, locals() )
我想在我的模板中使用这个目标变量,我尝试了以下操作:
<form action="{% url '{{target}}' %}" method="post">
这给了我一个错误:
Reverse for '{{target}}' not found. '{{target}}' is not a valid view function or pattern name.
如何使用我的“目标”变量的值作为要构造的 url 的名称?
来自doc https://docs.djangoproject.com/en/2.1/ref/templates/builtins/我知道这应该是可能的:
第一个参数是 URL 模式名称。它可以是引用的文字
或任何其他上下文变量。
在模板标签内,您不需要标记上下文变量。它们通常在不带大括号的情况下被识别:
<form action="{% url target %}" method="post">
应该可以正常工作。正如您可能以类似的方式使用其他标签一样:
{% if target %}
# or
{% for obj in object_list %}
虽然模板文档中列出了一些示例变量 https://docs.djangoproject.com/en/2.1/ref/templates/language/#variables and tags https://docs.djangoproject.com/en/2.1/ref/templates/language/#tags,这一点没有明确指出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)