将变量添加到django中的路径中

时间:2018-03-14 01:32:17

标签: python django

我正在Django创建我的第一个网站,但我的教程很久以前就已经创建了。我需要将变量question_id添加到以下路径中:

path('<question_id [0-9]>/',views.detail, name = "detail")

功能细节如下所示:

def detail(request, question_id):
    return HttpResponse('Leo is the best')

这就是错误:

Using the URLconf defined in mysite.urls, Django tried these URL 
patterns, in this order:


polls/ [name='index']
polls/ <question_id = [0-9]>/ [name='detail']
polls/ <question_id>[0-9]/result [name='result']
polls/ <question_id>[0-9]/vote [name='vote']

3 个答案:

答案 0 :(得分:0)

首先,您应该使用Django版本的实际教程,而不是使用“很久以前创建”的教程。

您在网址中使用的代码既不适用于旧的基于正则表达式的路由,也不适用于新式路径路由。新风格更容易,您应该只使用它:

path('<int:question_id>/',views.detail, name = "detail")

答案 1 :(得分:-1)

使用r'^<question_id [0-9]>$'代替<question_id [0-9]>/,据我所知,Django的正确语法是url(r'^<question_id [0-9]>$',views.detail, name = "detail")而不是路径。

答案 2 :(得分:-1)

不确定但您应该使用url()而不是path()