当我尝试打开性别页面时,w/c是我的URL.py中的最后一个页面,出现此错误并引发错误的应用程序视图。如何修复?

2024-06-17 10:48:43 发布

您现在位置:Python中文网/ 问答频道 /正文

错误: 找不到页面(404) 请求方法:获取 请求URL:http://localhost:8000/men/ 提出人:app.views.productinshop 没有与给定查询匹配的商店

url.py

urlpatterns+=模式(“”

url(r'^$', 'app.views.shop', name='shop'),
url(r'^shops/$', 'app.views.shops', name='shops'),
url(r'^(?P<shop_slug>[-\w]+)/$', 'app.views.productinshop', name='productbyshop'),
url(r'^(?P<shop_slug>[-\w]+)/(?P<gender_slug>[-\w]+)/$', 'app.views.shopandgender', name='shopandgender'),
url(r'^(?P<shop_slug>[-\w]+)/(?P<gender_slug>[-\w]+)/(?P<catalog_slug>[-\w]+)/$', 'app.views.shopgenderandcatalog', name='shopgenderandcatalog'),
url(r'^(?P<shop_slug>[-\w]+)/(?P<gender_slug>[-\w]+)/(?P<catalog_slug>[-\w]+)/(?P<category_slug>[-\w]+)/$', 'app.views.shopgendercatalogandcategory', name='shopgendercatalogandcategory'),
url(r'^(?P<product_slug>[-\w]+)/$', 'app.views.productdetails', name='productdetails'),
url(r'^(?P<gender_slug>[-\w]+)/$', 'app.views.gender', name='gender'),

)


Tags: nameappurl错误shopgenderviewscatalog
1条回答
网友
1楼 · 发布于 2024-06-17 10:48:43

在Django中,url模式按照其列出的顺序进行匹配,在找到第一个匹配后,不再进行进一步的搜索

在您的案例中,有三种完全相同的模式:

url(r'^(?P<shop_slug>[-\w]+)/$', 'app.views.productinshop', name='productbyshop'),
url(r'^(?P<product_slug>[-\w]+)/$', 'app.views.productdetails', name='productdetails'),
url(r'^(?P<gender_slug>[-\w]+)/$', 'app.views.gender', name='gender'),

当django看到http://localhost:8000/men/时,匹配的第一个模式就是指向app.views.productinshop的模式,因此django停止进一步搜索,这就是被调用的视图

为了防止这种情况,您需要更改url方案

相关问题 更多 >