• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
难受得一匹
博客园    首页    新随笔    联系   管理    订阅  订阅
模板标签及模板的继承与引用

模板标签及模板的继承与引用

模板标签

  • 标签在渲染的过程中提供任意的逻辑
  • 都是{% ... %}的形式

一些常用的标签:

使用方法,例如:

 <tbody>
            {% for student in students %}
                <tr {% if student.sex == '女' %}style="background-color: pink"{% endif %}>
{#                    如果是女的,渲染为pink#}
                    <td>{{ forloop.counter }}</td>
{#                    按序,正序,默认从1开始,forloop.counter0,表示从0开始;使用revcounter表示倒序#}
                    <td>{{ student.name }}</td>
                    <td>{{ student.age }}</td>
                    <td>{{ student.sex }}</td>
                </tr>
            {% endfor %}
 </tbody>

url模板标签

{% url '地址' 参数 %}

例如:

#urls
path('student/<int:pk>',views.student_detail_view,name ='student_detail')

#HTML
<td><a href="{% url 'teacher:student_detail' student.id %}" >{{ student.id }}</a></td>

即是:将url里面的地址解析出来,获取path的路径,student.id对应PK参数,后跳转到视图student_detail_view,执行视图内容.

模板继承

标签:

  • {% extends '被继承文件路径' %},继承文件
  • {% block ... %}{% endblock %},修改继承文件的内容

模板继承使用extends标签实现。通过使用block来给子模板开放接口。

  1. extends必须是模板中的第一个出现的标签。
  2. 子模板中的所有内容,必须出现在父模板定义好的block中,否则django将不会渲染。
  3. 如果出现重复代码,就应该考虑使用模板。
  4. 尽可能多的定义block,方便子模板实现更细的需求。
  5. 如果在某个block中,要使用父模板的内容,使用block.super获取。

模板引用

{% include '被引用的文件路径'%}

  • 引用常用于某一网页相同模块,常见的例子就是广告
posted on 2019-03-29 15:26  难受得一匹  阅读(270)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3