zoukankan      html  css  js  c++  java
  • Python Django 之 Template 模板语言简介

    一、什么事模板语言

    html+逻辑控制语句

    二、模板语言的作用

    帮助前端处理后端发来的数据,方便前端展示(杂糅渲染)

    三、模板语言语法

    1、{{变量}}

    变量使用双大括号{{}}

    2、万能的句点号.

    1)后端

    def index(req):

        s="hello"

        s1=[1,22,333]

        s2={"username":"hope","sex":"jjj"}

        return render(req,'index.html',{"obj":s2})

    2)前端

    ##{{obj.2}}

     {{obj.username}}  结果 : hope

    obj也可以拿属性

    1)前端

    import datetime

    s4=datetime.datetime.now()

    return render(req,"index.html",{"obj":s4})

    2)后端

    {{obj}}

    {{obj.year}}

    {{obj.month}}

    3、{% if %}

    (1)语法格式

    {% if %}

    ....

    {% endif %}

    (2)举例

    {% if 1 %} //或者{% if True %} ,这两种都表示前端拿到后端的值,则为1或True,则。。。

      <p>hello world</h1>

      {% elif obj %}   //表示,obj接收到后端的值则。。。

        <p>hello 2</p>

    {% endif %}

    4、{% for %}

    (1)语法格式

    {% for i in obj %}

    ......

    {% endfor %}

    (2)举例

    {% for i in obj %}

      <p>{{i}}</p>   //循环打印出obj的值

      <p>{{forloop.counter}}:{{i}}</p>  // 索引:值,forloop.counter纪实循环,从1开始

      <p>{{forloop.counter0}}:{{i}}</p> //索引从0开始

    {% endfor %}

    5、filter过滤器

    (1)变大写

    {{ obj|upper }}  全大写

    {{ obj|lower}}    全小写//默认时全小写

    {{ obj|first}}       取第一个字母

    {{ obj|capfirst}}  首字母大写

    {{obj|add:5}}       加法

    {{obj|default:"空"}}  返回值为空,则输出自定义的值

    注意:

    前端

    s8=<a href='#'>跳转</a>

    后端

    方法一autoescape

    {% autoescape off %}    将字符串变为html可识别的标签,否则打印出来的只是字符串

        {{obj}}

    {% endautoescape %}

    方法二safe

    {{obj|safe}}

    四、模板语言自定义标签

    1、url

    2、views

    3、templates

  • 相关阅读:
    Contains Duplicate
    Valid Anagram
    Invert Binary Tree
    Same Tree
    代理模式——java设计模式
    单例模式——java设计模式
    关于春招自己感到很失落这件事
    Collections.sort()中的mergeSort归并排序
    腾讯云搭建日志收集系统
    centos7 mysql
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/10186434.html
Copyright © 2011-2022 走看看