我正在使用Django 2.1.4 我想在url中传递诸如question_id之类的参数,但我只得到404。
这是我的代码:
urls.py:
urlpatterns = [
path('index',views.index , name='index'),
path('index/(?P<question_id>[0-9])',views.detail , name='detail'),
]
这是我的:
view.py
def index(request,):
return HttpResponse("Welcome To My Page")
def detail(request, question_id):
return HttpResponse("new Page" + str(question_id))
当我输入http://127.0.0.1:8000/polls/index/12时 在URL中,我只得到404。
答案 0 :(得分:1)
我认为这是旧的(2.0之前的)表示法。我用
path('profile/edit_avatar/<int:avatar_id>', views.edit_avatar, name='edit_avatar')
在我的urls.py和
中def edit_avatar(request, avatar_id=0):
在我看来(使用默认值,以防万一)
答案 1 :(得分:0)
在Django 2.1.4中,path
方法可以使用以下语法来解析URL中的参数:
urlpatterns = [
path('index',views.index , name='index'),
path('index/<int:question_id>', views.detail , name='detail'),
]
如果您要坚持使用旧的正则表达式,则应将“详细信息”视图更改为
path('index/(?P<question_id>[0-9]+/$)',views.detail , name='detail')
另请参见this article。