Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django中字母数字(slug)字符串的Url模式_Python_Regex_Django_Django Templates_Django Urls - Fatal编程技术网

Python django中字母数字(slug)字符串的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

我正在尝试使此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, '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 %}