gpt4 book ai didi

python - 理解 Django 的 urlconf

转载 作者:太空狗 更新时间:2023-10-29 22:22:55 28 4
gpt4 key购买 nike

我试图理解这一行:url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'),来自 Django's tutorial关于如何创建 View 。

特别是,我不明白以下内容:

  • ?P
  • \d+
  • 名字='细节'

urls.py

urlpatterns = patterns('',
# ex: /polls/
url(r'^$', views.index, name='index'),
# ex: /polls/5/
url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'),
# ex: /polls/5/results/
url(r'^(?P<poll_id>\d+)/results/$', views.results, name='results'),
# ex: /polls/5/vote/
url(r'^(?P<poll_id>\d+)/vote/$', views.vote, name='vote'),
)

最佳答案

  • (?P<poll_id>...)创建一个 named group ;您现在可以按名称引用该组中匹配的任何内容。

    View 将在调用时通过该名称传递一个关键字参数。

  • \d是一个字符组,它匹配数字( 09 对于 ASCII 数据)。 +是量词;只有一位或多位数字会匹配。

  • name='detail'命名 URL 模式,以便您稍后在创建反向 URL 时可以通过名称引用它。参见 Naming URL patterns在 Django 手册中。

总而言之,该模式匹配以数字开头,后跟一个 / 的 URL。斜杠,导致 Django 调用 views.detail查看,将匹配的数字作为 poll_id 传递范围。 name关键字可以轻松生成此 View 的 URL:

{% url 'name' poll.id %}

将生成指向 http://yourserver/[digits of poll.id]/ 的 URL .

关于python - 理解 Django 的 urlconf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16948959/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com