所有网址中有一个不匹配
One out of all urls is not matching
我正在使用 Django 1.8,但我无法弄清楚为什么一个特定的 url 没有得到匹配。
url 是 /weapons
。 Django 正在向它添加一个尾部斜杠,我认为这是因为 APPEND_SLASH
选项默认为真。即使我尝试在没有斜杠的情况下到达 url,它也会失败,然后尝试使用斜杠。
这是我得到的错误:
顶级urls.py
urlpatterns = [
url (r'^admin/', include (admin.site.urls)),
url (r'^', include ('core.urls', namespace = 'core')),
url (r'^', include ('equipment.urls', namespace = 'equipment')),
]
核心urls.py
urlpatterns = patterns [
url (r'^$', views.index, name = 'index'),
]
装备urls.py
urlpatterns = [
url (r'^equipment$', views.index, {'type':'index'}, name = 'index'),
url (r'^weapons$', views.index, {'type':'weapons'}, name = 'weapons'),
url (r'^armor$', views.index, {'type':'armor'}, name = 'armor'),
url (r'^accessories$', views.index, {'type':'accessories'}, name = 'accessories'),
]
我会做:
urlpatterns = [
url (r'^admin/', include (admin.site.urls)),
url (r'^home/', include ('core.urls', namespace = 'core')),
url (r'^equipment/', include ('equipment.urls', namespace = 'equipment')),
]
和
urlpatterns = [
url (r'^weapons/$', views.index, {'type':'weapons'}, name = 'weapons'),
]
注意 django 1.8
中的 []
而不是 patterns
你的 url 看起来像:
http://localhost:1000/equipment/weapons/
哪个说得通?
尝试从 core/urls.py
和 equipment/urls.py
的网址中删除前导 ^
。
原来是缓存问题。我使用 Ctrl + F5 尝试了它,但它没有用,所以我在隐身模式下尝试了该页面,但它起作用了。所以我使用开发人员工具重新加载页面,现在它可以工作了。
我正在使用 Django 1.8,但我无法弄清楚为什么一个特定的 url 没有得到匹配。
url 是 /weapons
。 Django 正在向它添加一个尾部斜杠,我认为这是因为 APPEND_SLASH
选项默认为真。即使我尝试在没有斜杠的情况下到达 url,它也会失败,然后尝试使用斜杠。
这是我得到的错误:
顶级urls.py
urlpatterns = [
url (r'^admin/', include (admin.site.urls)),
url (r'^', include ('core.urls', namespace = 'core')),
url (r'^', include ('equipment.urls', namespace = 'equipment')),
]
核心urls.py
urlpatterns = patterns [
url (r'^$', views.index, name = 'index'),
]
装备urls.py
urlpatterns = [
url (r'^equipment$', views.index, {'type':'index'}, name = 'index'),
url (r'^weapons$', views.index, {'type':'weapons'}, name = 'weapons'),
url (r'^armor$', views.index, {'type':'armor'}, name = 'armor'),
url (r'^accessories$', views.index, {'type':'accessories'}, name = 'accessories'),
]
我会做:
urlpatterns = [
url (r'^admin/', include (admin.site.urls)),
url (r'^home/', include ('core.urls', namespace = 'core')),
url (r'^equipment/', include ('equipment.urls', namespace = 'equipment')),
]
和
urlpatterns = [
url (r'^weapons/$', views.index, {'type':'weapons'}, name = 'weapons'),
]
注意 django 1.8
中的[]
而不是 patterns
你的 url 看起来像:
http://localhost:1000/equipment/weapons/
哪个说得通?
尝试从 core/urls.py
和 equipment/urls.py
的网址中删除前导 ^
。
原来是缓存问题。我使用 Ctrl + F5 尝试了它,但它没有用,所以我在隐身模式下尝试了该页面,但它起作用了。所以我使用开发人员工具重新加载页面,现在它可以工作了。