Django 在URL.py中让slug正常工作时遇到问题
我在url.py中使用slug时遇到了一个问题(可能是因为我缺乏这方面的知识)Django 在URL.py中让slug正常工作时遇到问题,django,url,hyperlink,slug,Django,Url,Hyperlink,Slug,我在url.py中使用slug时遇到了一个问题(可能是因为我缺乏这方面的知识) 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),
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),
url.py
url(r“^admin/”,包括(admin.site.url)),
url(r“^search\u form/$”,search\u form),
url(r“^search/$”,搜索),
url(r“^search\u results/$”,搜索结果),
#url(r“^search/search_results/acetate/$”,项目),
url(r'^(?P[-\w\d]+),(?P\d+/$),项目),
这里是html链接
href=“search_results/{{chemical.S_field}}/”>{{chemical.Barcode}
其中,chemical.S_字段段塞字段基于项目名称的段塞版本
我正在尝试创建一个页面、url和视图,可以将用户带到一个模板,该模板将根据他们单击的链接而改变
例如,如果你有多毛的狗,多毛的猫,毛茸茸的鸟。如果用户点击毛猫,鼻涕虫将是毛猫,用户将被带到一个页面(搜索/搜索结果/毛猫/该页面将包含从数据库显示的毛猫的各种信息)
我觉得这是可能的,但每次我尝试使用slug时(可能我做得不正确),它都会显示^(?p[-\w\d]+),(?p\d+/$,而不是slug中存储的信息
还有没有类似的地方有关于django的教程或良好信息?
我已经浏览了网站上的django教程,以及django网站开发最终指南中的django教程
谢谢
编辑
我以前可能不清楚,我应该选择一个更好的例子。
我希望显示的页面将位于search/search\u results/slug
其中slug将是项目名称的slugized版本。
下面是我现在通过添加最新的url得到的信息
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.
Django使用Inventory.URL中定义的URLconf,按以下顺序尝试了这些URL模式:
^管理员/文件/
^管理员/
^搜索表格/$
^搜寻/$
^搜索结果/$
^(?P[-\w\d]+),(?P\d+)/$
^(?P[-\w]+)/(?P\d+)/$
当前URL search/search\u results/acetate/,与其中任何一个都不匹配。
试试这个:
url(r'^search/search_results/(?P<slug>[-\w]+)/$', item),
url(r'^search/search_results/(?P[-\w]+)/$),项目),
您将有这样一个url:search/search\u results/acetate/,它将调用函数项。此url模式无效。您可以在
url(r'^(?P[-\w\d]+),(?P\d+/$),项)
试一试
url(r'^(?P[-\w\d]+)/$,项目)
因为你只想匹配鼻涕虫
如果您希望能够匹配slug或id,您可以有两个单独的目标,每个目标都是一个
url(r'^(?P\d+/$),项,名称='by-id')
url(r'^(?P[-\w\d]+)/$,项,名称='by-slug')
我看不到您想要的结果(搜索/搜索结果/毛茸茸的猫/)的任何url模式。看看url模式是如何工作的:部分问题是我有url(r'^(?P[-\w\d]+)/$,item),我需要的是url(r'^搜索/(?P[-\w\d]+)/$,item)
url(r'^(?P<slug>[-\w\d]+),(?P<id>\d+)/$', item)
url(r'^(?P<slug>[-\w\d]+)/$', item)
url(r'^(?P<id>\d+)/$', item, name='by-id')
url(r'^(?P<slug>[-\w\d]+)/$', item, name='by-slug')