什么是正确的使用方法,并参考django 1.3中的slugfield

Stu*_*Stu 3 django django-templates slug

什么是正确的使用方法,并参考django 1.3中的slugfield

例如,以下代码应通过slug链接到通用视图,但是会收到NoReverseMatch错误.

Caught NoReverseMatch while rendering: Reverse for 'single_post' with arguments '('', u'post-2')' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这说错误在于模板然而是新手,并且在{%url single_post slug = post.slug%}上尝试了许多不同的变化,这可能不是这种情况.

有人可以解释为什么会发生这种情况,以便我能够理解问题所在以及如何解决.

我试过{%url single_post slug = post.slug%},{%url single_post slug%} {%url single_post slug = post.slug%}和许多其他变种

非常感谢所有帮助

模型

slug = models.SlugField(max_length=120, unique=True)
Run Code Online (Sandbox Code Playgroud)

网址

   url(r'^post/(?P<slug>[a-z-]+)/$', list_detail.object_detail,
         {'queryset': Post.objects.all(), 'template_object_name': 'post', 'slug_field': 'slug'}, name="single_post"),
Run Code Online (Sandbox Code Playgroud)

模板

{% url single_post slug post.slug %}
Run Code Online (Sandbox Code Playgroud)

Bra*_*don 7

您的正则表达式不允许使用数值.尝试:

(?P<slug>[\w-]+)
Run Code Online (Sandbox Code Playgroud)