{% url 'polls:vote' question.id %} Django模板

root
abc abc
  • 14 Jul

在Django模板中,{% url 'polls:vote' question.id %} 是一个URL模板标签,它的作用是根据URL配置动态生成对应的URL地址。具体解释如下:

polls:vote 表示:

polls 是应用的命名空间(namespace),这是在URL配置中通过app_name = 'polls'定义的
vote 是该应用下的URL模式名称(name),这是在URL配置中通过name='vote'定义的
question.id 是传递给URL的参数:

这个参数会传递给URL模式中定义的路径转换器
例如如果URL配置是path('vote//', views.vote, name='vote'),那么question.id会填充到int:question_id位置
最终效果:

这个标签会解析出类似/polls/vote/1/这样的URL(假设question.id=1)
使用url标签而不是硬编码URL是Django的最佳实践,这样当URL模式改变时,模板中的链接会自动更新