我发现自己经常做的一件事就是将字符串文字作为参数传递给模板标签或函数; 例如:
{% 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模板中使用字符串文字?或者可能是更优雅的解决方案?我在这里或文档中没有看到任何内容.
您好我正在尝试将不同的网址从我的网站传递到模板中.
我以为可以通过在模板中使用它来完成
{% url myappname.module.views.urlfunction %}
Run Code Online (Sandbox Code Playgroud)
但是这会返回一个错误,说"渲染时出现了陷阱:'str'对象没有属性'正则表达式'"
我不确定这意味着什么.我在django模板中按照这个示例url模板标记
urlpatterns = patterns('',
url(r'^$', 'myappname.module.views.start'),
Run Code Online (Sandbox Code Playgroud)
这就是我在模板中输入的内容
{% url myappname.module.views.start %}
Run Code Online (Sandbox Code Playgroud)
我也试过这个url模式和模板组合到没有avial:
urlpatterns = patterns('',
url(r'^$', 'myappname.module.views.start', name="home"),
{% url "home" %}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
谢谢.