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

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

一、模板标签

定义:标签在渲染的过程中提供任意的逻辑

语法:由 {%    %} 来定义的

例:1、循环列表数据

  2、如果要判断性别是女的,背影色为黄色,否则为红色

  3、如果要加序号

  4、如果电话号码为空时,显示未填

{% for student in students %}

<tr  {% if student.sex == "女" %}style = "background-color : yellow "    {% else %}style = "background-color : red">

  <td>{{ forloop.counter }}</td>

  <td>{{ student.name }}</td>

   <td>{{ student.age }}</td>

   <td>{{ student.sex }}</td>

   <td>{{ student.phone | default: "未填" }}</td>

</tr>

{% endfor %}

#  url 标签的应用

例:需求是点击列表明细里的 id 号后可以跳转到下一个对应的 id 的详情页

1)新建一个函数,内容如下:

def  student_detail_view(request, pk):

  student_detail = {  1: {'id' : 1 ,'name' : 'shen' , 'age' : 40 , 'address' : '上海'},

          3: {'id' : 3 ,'name' : 'shen' , 'age' : 40 , 'address' : '上海'},

         15: {'id' : 15 ,'name' : 'shen' , 'age' : 40 , 'address' : '上海'}

          }

  return render(request, 'teacher/student_detail_view.html, context = {'student_detail' : student_detail}

2) 在 teacher文件夹下url.py文件中设置路径

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

3)在student_detail_view.html文件中加一个<a> 标签

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

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

二、模板继承

语法格式:{% block 自定义名称 %}

第1步:新建一个base.html文件,把student_list_page.html文件内容复制到base.html文件中

第2步:在<title>   </title>标签中写 {% block title %} Bottstrap 101 Template {% endblock %} 

第3步:在<boby>  </boby>标签中写{% block  content %}        {% endblock %}

第4步:在把<boby> </boby>标签中的内容删除,只留下第3步写的

第5步:在打开student_list_page.html文件,把内容全部删除写入

    { % extends  'teacher/base.html'  %}

    { % block title %} 学生列表 {%  endblock  %}

    {%  block content  %}  写内容的代码  {%  endblock  %}

优点:如果要加css效果,就可直接写在base.html文件里,那样student_list_page.html文件就会继承base.html文件里的css效果

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

三、模板引用

语法格式:{ % include  '路径/html文件'  %}

第一步:在app  teacher文件夹下创建一个guanggao.html文件

第二步:在base.html文件中写{%  block  gog %}

              { %  include  'teacher/guanggao.html'  % }

              {% endblock  % }

优点:每个页面都会引用guanggao.html文件内容了

 

转载于:https://www.cnblogs.com/nickshen/p/10597310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值