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'),

我想确定以下几点:

  1. question.id是传递给模板引擎渲染的值 模板。

  2. 正则表达式中的变量部分((?P<question_id>[0-9]+))将是 替换为 url 标记中的第一个参数 (question.id).

  3. 变量部分的名称 (question_id) 只是视图将使用的名称 处理这个值(作为参数)。所以这个变量部分可能没有名字(就像 r'^([0-9]+)/vote/$').

  4. 可能有几个变量部分(然后是几个参数 传递给 {% url %} 标签)。

谁能证实这一点?

谢谢!

几件事:

    url 标签中的
  1. question.id 是通过视图传递给 url 模式的值。模板在视图中指定,但此值确保上下文中的唯一对象(问题)。
  2. 正确
  3. 视图的名称是 "vote" 而不是 question_id。这显示在 url 模式中 (views.vote)
  4. 您可以根据需要通过 url 标签传递任意数量的值,以匹配您的模式。只需确保这些值可通过您的视图获得。