Django 什么是<;内部:问题编号>;做

Django 什么是<;内部:问题编号>;做,django,python-3.x,Django,Python 3.x,我正在学习Django,代码“int:question_id”中有一个表达式,我没有得到 from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('<int:question_id>/', views.detail, name='detail'), path('<int:question_

我正在学习Django,代码“int:question_id”中有一个表达式,我没有得到

from django.urls import path

from . import views

urlpatterns = [

    path('', views.index, name='index'),

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

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

    path('<int:question_id>/vote/', views.vote, name='vote'),
]
从django.url导入路径
从…起导入视图
URL模式=[
路径(“”,views.index,name='index'),
路径(“/”,views.detail,name='detail'),
路径('/results/',views.results,name='results'),
路径('/vote/',views.vote,name='vote'),
]
我的工作方式如下: 例如,如果单击链接
my domain.com/12
,则12将被传递到“detail”url,从而传递到
view.detail
。因此,您的观点应如下所示:

def detail(request, question_id):
    ...

这是djangos描述URL模式的方式。这意味着:

expect此时URL中存在一个整数(
int
),并将其绑定到
views.results
方法的
question\u id
参数

因此,如果您有路径“/12/results”,那么相应的方法
views.results
将被如下调用:

results(request, question_id=12)

这是一个路径转换器

基本上,它从零匹配到任何正数,即跟随它的路径

在您的示例中:

path('<int:question_id>/', views.detail, name='detail'),
path('/',views.detail,name='detail'),
“问题id”路径必须是数字


顺便说一句,在

中可以找到有关路径转换器的快速说明。您应该看一下文档:在提出类似的基本问题之前,请先阅读文档。这将在上面提到的链接中详细解释。