接上一章,把detail.html的内容完善下:
一、使用模板系统
<h1>{{ question.question_text }}</h1>
<ul>
{% for choice in question.choice_set.all %}
<li>{{ choice.choice_text }}</li>
{% endfor %}
</ul>
二、去除模板中的硬编码url
在polls/index.html 里编写投票链接时,链接是硬编码的:
<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
这样的话,如果要对整个项目修改链接体系,会很麻烦。django有一个方法可以解决,那就是给路径起个别名。
path('<int:question_id>/', views.detail, name='detail')
比如上面这个就表示 <int:question_id>/
这种格式的链接别名是detail,有了这个别名后,我们就可以改写index.html里的链接
<li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li>
这时候如果想改下链接只需要修改下面一行:
path('detail/<int:question_id>/', views.detail, name='detail')