Django url 名称,有些地方我不确定
Django url name, some points I'm not sure about
我正在按照 django 教程(第 4 部分)的步骤进行操作。
我 here。
有这个标签:
{% url 'polls:vote' question.id %}
这会触发 urls.py 文件中的以下行:
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
我想确定以下几点:
question.id
是传递给模板引擎渲染的值
模板。
正则表达式中的变量部分((?P<question_id>[0-9]+)
)将是
替换为 url
标记中的第一个参数 (question.id
).
变量部分的名称 (question_id
) 只是视图将使用的名称
处理这个值(作为参数)。所以这个变量部分可能没有名字(就像
r'^([0-9]+)/vote/$'
).
可能有几个变量部分(然后是几个参数
传递给 {% url %}
标签)。
谁能证实这一点?
谢谢!
几件事:
url 标签中的 - question.id 是通过视图传递给 url 模式的值。模板在视图中指定,但此值确保上下文中的唯一对象(问题)。
- 正确
- 视图的名称是 "vote" 而不是 question_id。这显示在 url 模式中 (views.vote)
- 您可以根据需要通过 url 标签传递任意数量的值,以匹配您的模式。只需确保这些值可通过您的视图获得。
我正在按照 django 教程(第 4 部分)的步骤进行操作。 我 here。 有这个标签:
{% url 'polls:vote' question.id %}
这会触发 urls.py 文件中的以下行:
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
我想确定以下几点:
question.id
是传递给模板引擎渲染的值 模板。正则表达式中的变量部分(
(?P<question_id>[0-9]+)
)将是 替换为url
标记中的第一个参数 (question.id
).变量部分的名称 (
question_id
) 只是视图将使用的名称 处理这个值(作为参数)。所以这个变量部分可能没有名字(就像r'^([0-9]+)/vote/$'
).可能有几个变量部分(然后是几个参数 传递给
{% url %}
标签)。
谁能证实这一点?
谢谢!
几件事:
-
url 标签中的
- question.id 是通过视图传递给 url 模式的值。模板在视图中指定,但此值确保上下文中的唯一对象(问题)。
- 正确
- 视图的名称是 "vote" 而不是 question_id。这显示在 url 模式中 (views.vote)
- 您可以根据需要通过 url 标签传递任意数量的值,以匹配您的模式。只需确保这些值可通过您的视图获得。