我正在学习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'),
]
答案 0 :(得分:1)
这是描述URL模式的惯用方式。这意味着:
此刻,预期URL中将存在一个整数(
int
),并将其绑定到question_id
方法的views.results
自变量。
因此,如果您具有路径“ / 12 / results”,则将像这样调用相应的方法views.results
:
results(request, question_id=12)
答案 1 :(得分:0)
我喜欢这样:
例如,如果单击链接my-domain.com/12
,则12将传递到“详细” URL,并因此传递到view.detail
。因此,您的视图应如下所示:
def detail(request, question_id):
...
答案 2 :(得分:0)
这是一个路径转换器。
基本上,它从零到任何正数(跟随它的路径)匹配。
在您的示例中:
path('<int:question_id>/', views.detail, name='detail'),
“ question_id”路径必须是数字。
快速找到路径转换器的说明