我的urls.py
这样包含:
urlpatterns = [
path('files/', include('files.urls')),
]
然后在files/urls.py
中输入:
urlpatterns = [
path('', views.index, name='index'),
path(r'(?P<name>[a-z]+)', views.check, name='check')
]
因此,我假设example.com/files
工作时,example.com/files/somename
也应该工作,但事实并非如此:
Django使用example.urls中定义的URLconf,尝试了这些URL 模式,顺序如下:
[name='index'] files/ [name='index'] files/ (?P<name>[a-z]+) [name='check']
当前路径,文件/别名,与任何这些都不匹配。
我在这里想念什么?
答案 0 :(得分:3)
您不需要将regexp与path
方法一起使用。相反,您只需指定str
作为参数类型:
path('<str:name>/', views.check, name='check')
如果要使用正则表达式,请使用re_path
:
re_path(r'(?P<name>[a-z]+)', views.check, name='check')