美文网首页
django 模板中去掉硬编码

django 模板中去掉硬编码

作者: 寻找无名的特质 | 来源:发表于2022-06-08 06:09 被阅读0次

在前面的模板中,我们这样定义访问详细页面的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>

相关文章

网友评论

      本文标题:django 模板中去掉硬编码

      本文链接:https://www.haomeiwen.com/subject/jspjmrtx.html