Python django中字母数字(slug)字符串的Url模式
我正在尝试使此url模式正常工作,但我没有取得任何进展。我得到一个页面未找到错误。我的url栏中的url为Python django中字母数字(slug)字符串的Url模式,python,regex,django,django-templates,django-urls,Python,Regex,Django,Django Templates,Django Urls,我正在尝试使此url模式正常工作,但我没有取得任何进展。我得到一个页面未找到错误。我的url栏中的url为http://127.0.0.1:8000/tags/?Python如果我选择python slug,但它不使用已定义的url。 我想做的是,打开一个新模板,其中包含与slug相关的信息。 我的看法是: def tags(request,slug): verse = get_object_or_404(Tag, slug=slug) return render(request
http://127.0.0.1:8000/tags/?Python
如果我选择python slug,但它不使用已定义的url。
我想做的是,打开一个新模板,其中包含与slug相关的信息。
我的看法是:
def tags(request,slug):
verse = get_object_or_404(Tag, slug=slug)
return render(request, 'tags.html',{'verse':verse})
这是我的网址:
url(r'^tags/(?P<slug>[\W-]+)/$', views.tags),
我还尝试使用:
{% url tags i.slug %}
(基于)
但到目前为止,一切都不起作用。我想打开标签模板,显示所选的slug。您必须在
url
中设置名称,如下所示:
url(r'^tags/(?P<slug>.+)/$', views.tags, name='tags'),
views.tags中有什么?另外,
[\W-]
也可以替换为\W
,因为-
已经与Python中的\W
匹配。@Andie2302 views.tags是呈现标记模板的视图。现在,我在/Reverse处获得了带有参数()的“标记”的NOeversematch,并且找不到关键字参数“{u'slug':u'Python'}”。尝试了1个模式:[“tags/(?P\\W+/$”]最终得到了它。问题也出在我的url上。我必须删除[\W-]并将其替换为一个。让它工作
{% url tags i.slug %}
url(r'^tags/(?P<slug>.+)/$', views.tags, name='tags'),
{% url "tags" slug=i.slug %}