在urls.py中遇到让slug正常工作的问题

use*_*595 2 django url hyperlink slug

在我的urls.py中使用slugs,我遇到了一个问题(可能是由于我对这个问题缺乏了解).

Urls.py
url(r'^admin/', include(admin.site.urls)),
url(r'^search_form/$', search_form),
url(r'^search/$', search),
url(r'^search_results/$', search_results),
#url(r'^search/search_results/acetic-acid/$', item),
url(r'^(?P<slug>[-\w\d]+),(?P<id>\d+)/$', item),
Run Code Online (Sandbox Code Playgroud)

这里是html链接href ="search_results/{{chemical.S_field}} /"> {{chemical.Barcode}}其中chemical.S_field slug字段基于项目名称的细分版本.

我正在尝试创建一个页面,网址和视图,以便能够将用户带到一个模板,该模板将根据他们点击的链接进行更改.

例如,如果你有毛狗,毛猫,蓬松的鸟.如果用户点击毛茸茸的猫,那么slu will将成为毛猫,并且用户将被带到一个页面(搜索/ search_results /毛茸茸猫/将拥有将从数据库中显示的毛猫的各种信息.

我觉得这是可能的,但每次我尝试使用slug(也许我做错了)它会显示^(?P [ - \w\d] +),(?P\d +)/ $而不是存储在slug中的信息.

还有一个地方有关于django的教程或良好信息吗?我已经浏览了网站上的django教程以及Django Web开发权威指南中的django教程.

谢谢,

编辑 我可能不清楚之前应该选择一个更好的例子.我想要显示的页面将位于search/search_results/slug其中slug将是项目名称的slugified版本.这是我现在通过添加最新网址获得的内容

Using the URLconf defined in Inventory.urls, Django tried these URL patterns, in   this order:

^admin/doc/
^admin/
^search_form/$
^search/$
^search_results/$
^(?P<slug>[-\w\d]+),(?P<id>\d+)/$
^(?P<slug>[-\w]+)/(?P<id>\d+)/$

The current URL, search/search_results/acetic-acid/, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)

kar*_*ikr 6

此网址格式无效.您可以在命名组中阅读有关它的更多信息

url(r'^(?P<slug>[-\w\d]+),(?P<id>\d+)/$', item)
Run Code Online (Sandbox Code Playgroud)

尝试

url(r'^(?P<slug>[-\w\d]+)/$', item)
Run Code Online (Sandbox Code Playgroud)

因为你试图只匹配slu ..

如果您希望能够匹配slug或ID,则可以有2个单独的目标,每个目标都是命名的URL模式

url(r'^(?P<id>\d+)/$', item, name='by-id')
url(r'^(?P<slug>[-\w\d]+)/$', item, name='by-slug')
Run Code Online (Sandbox Code Playgroud)