一 、模板的组成

组成:HTML代码+逻辑控制代码

二、逻辑控制代码

1、变量:使用双大括号引起来的变量 例:

{{name}}

<body> <h1 style="color: crimson">{{ yeas }}--{{ month}}--{{ day }}h1> body>
# python渲染 def dte(req, yeas, month, day): return render(req, 'index1.html', {'yeas': yeas, 'month': month, 'day': day})

  2 、深度变量查找之句点号

模板不光能解析处理简单的字符串 ,还能处理更加复杂的数据结构,例如:list、dictionary和自定义的对象等。在 Django 模板中遍历复杂数据结构的关键是句点字符 (.)

列表:

def demo(request): lis = ['张三', '李四', '王五'] return render(request, 'demo.html', {'lis': lis})
<div>这次展现的是列表第一个值----{{lis.1}}div>

 

 

   字典:

<div>这次展现的是字典的值----{{ map.name }}div>
zidian = {'name': "张三", "age": "12", "sex": ""} return render(request, 'demo.html', {'map': zidian})

  对象:

# 人物类 class Admin: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def jieshao(self): return '我的名字是%s,性别%s,今年%s岁' % (self.name, self.sex, self.age)
# view zhangsan = Admin("张三","12","") return render(request, 'demo.html', {'zs': zhangsan})
<div>这次展示的是自定义对象的方法----{{ zs.jieshao }}div>

  3、变量过滤器(filter)

 语法:{{ obj | filter :parem}}------》{{变量 | 过滤器函数 :参数}}

<div>这次展示的是自定义对象的年龄加20----{{ zs.age|add:20 }}div> <div>字符串第一个大写{{ str|capfirst }}div> <div>字符串移除指定字符{{ str|cut:" " }}div> <div>时间格式控制{{ date|date:"Y-m-d" }}div> render(request, 'demo.html', {'strs': ''}) <div>空值则替换{{ strs|default:'空的列表'}}div> # 页面展示为“空的列表“ string = '<a href="12345/12345"> 12345a>' <div>渲染HTML标签{{ strs|safe}}div> {% autoescape off %} <div>{{ strs }}div> {% endautoescape %}

4 、控制语句之tag标签的使用

  语法:{% 语句  %}

  • if--elif--else 判断
    {% if zhangsan.age > 30 %} <h1>{{ zhangsan.name }}h1> {% elif zhangsan.age > 10 %} <h1>{{ zhangsan.jieshao }}h1> {% else %} <h1>{{ zhangsan.name }}年龄没超过10h1> {% endif %}

     

  • if嵌套
    {% if zhangsan.age > 30 %} {% if zhangsan.age < 50 %} {% elif zhangsan.age > 10 %} <h1>{{ zhangsan.jieshao }}h1> {% else %} <h1>{{ zhangsan.name }}年龄没超过10h1> {% endif %}
  • for循环
    <ul> {% for i in lis %} {% if forloop.first %} <li class="fir"> {% else %} <li class="det"> {% endif %} {{ i }} li> {% empty %} <h1>没有数据h1> {% endfor %} ul>
  • csrf_token和url标签
    <form action="{% url "login"%}" > <input type="text"> <input type="submit"value="提交"> {%csrf_token%} form>
    • {%csrf_token%}:防治跨站攻击验证
    • {%url "引用地址"%}:引用路由配置
  •  {%with%} :替换引用名
    {% with str=lis123456 %} {{ str }} {% endwith %}
  • {%verbatim%}:禁止渲染,原样展现

 

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣快排营销www.seoguRubloG.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系✚Qq61910465