我无法使用{%url%}在Django模板中生成网址。我收到以下错误:
{% url 'rango:category' category_name_slug=category.slug %}
这就是我如何使用标签:
url(r'^category/(?P<category_name_slug>[\w\-]+)/$', views.category, name='category')
这是相对url()定义:
{% url 'rango:category' category_name_slug=category.slug as slug %}
{{ slug }}
有趣的是,如果我使用类别。 id 而不是slug它可以工作,但当然生成的网址并不是任何类别,因为&#34; slug&# 34;,视图中不需要id。
如果我将标签用作
,那就更奇怪了{{1}}
然后生成url是正确的,不会引发任何错误。
读取错误似乎没有任何内容作为关键字参数传递。
有什么想法吗?
答案 0 :(得分:1)
错误消息中的关键部分是
'{'category_name_slug': ''}'
这暗示您要么没有正确地将类别传递给模板,要么您有一个没有设置slug的类别。
您说使用category.id
不会导致错误,这意味着您正在将类别正确传递给模板。
因此,您可能有一个没有设置slug的类别。检查数据库中的值。