django - 在 urls.py 中使 slugs 正常工作时遇到问题

标签 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),

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

我正在尝试创建一个页面、URL 和 View ,该页面、URL 和 View 将能够将用户带到一个模板,该模板将根据他们单击的链接而变化。

例如,如果您有毛茸茸的狗、毛茸茸的猫、毛茸茸的鸟。如果用户单击“毛猫”,则鼻涕虫将是“毛猫”,并且用户将被带到一个页面(search/search_results/hairy-cats/,该页面将包含从数据库中显示的有关毛猫的各种信息。

我觉得这是可能的,但每次我尝试使用 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.

最佳答案

此 URL 模式无效。您可以在Named Groups中阅读更多相关信息。

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

尝试

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

因为您试图仅匹配蛞蝓。

如果您希望能够匹配 slugs 或 ID,您可以有 2 个单独的目标,每个目标都是 Named URL Pattern

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

关于django - 在 urls.py 中使 slugs 正常工作时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17326879/

相关文章:

python - Django 在bulk_create 中设置自动字段值

url - 301 重定向与 Rel=Canonical

html - 在保持相同行为的同时隐藏 url 中的 #hash 片段?

html - 使用 FOXIT(或其他)从 HTML 代码链接到 PDF 中的特定书签/页面

django - 排除 Django 中的一行重复行

Django 的 static() 函数检索静态文件没有给出这样的文件 - 错误

javascript - 从 Service Worker 获取页面 URL 参数

android - 将颜色链接到 Android 中的其他颜色 xml

php - 使用图形 API 并在事件页面上创建链接

python - Django ReStructuredText 中的数学指令