在前面的模板中,我们这样定义访问详细页面的url:
{% if student_list %}
<ul>
{% for student in student_list %}
<li><a href="/students/{{ student.id }}/">{{ student.name_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>没有记录.</p>
{% endif %}
这里的url是硬编码的:<a href="/students/{{ student.id }}/">,如果url发生了改变,模板就需要进行修改。而在urls.py中已经定义了url的模式:
path('student/<int:student_id>/', views.detail, name='detail'),
我们希望这两部分保持一致,也就是说在urls.py中改变了url模式,在模板中就不需要再修改。这时,需要在模板中使用下面的定义形式:
<a href="{% url 'detail' student.id %}">{{ student.name_text }}</a>
网友评论