Django 什么是<;内部:问题编号>;做
我正在学习Django,代码“int:question_id”中有一个表达式,我没有得到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_
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”路径必须是数字
顺便说一句,在中可以找到有关路径转换器的快速说明。您应该看一下文档:在提出类似的基本问题之前,请先阅读文档。这将在上面提到的链接中详细解释。