使用字符串文字作为Django模板中模板标记的参数

pjb*_*ley 7 django templates django-templates

我发现自己经常做的一件事就是将字符串文字作为参数传递给模板标签或函数; 例如:

{% url my-url 'my_param' %}
Run Code Online (Sandbox Code Playgroud)

不幸的是,django模板引擎不允许你这样做.所以我发现自己在我的视图代码中做了很多这样的事情:

my_context_dict['MY_PARAM'] = 'my_param'
Run Code Online (Sandbox Code Playgroud)

然后在我的视图代码中:

{% url my-url MY_PARAM %}
Run Code Online (Sandbox Code Playgroud)

或者创建一系列URL映射,我个人试图避免.

是否可以在Django模板中使用字符串文字?或者可能是更优雅的解决方案?我在这里或文档中没有看到任何内容.

S.L*_*ott 13

这感觉不对,但是对.

<a href="{% url someting "param1" "param2" %}">text</a>
Run Code Online (Sandbox Code Playgroud)

嵌套""的看起来不应该起作用.他们是这样.{% %}简单地将Django 材料从HTML中拉出而不考虑周围环境.因此,"重复" "并不是真的重复.


Aym*_*ieh 12

使用双引号而不是单引号:

{% url my_view "my_param" %}
Run Code Online (Sandbox Code Playgroud)