• Django模板系统(templates)


    模板语言

    常用语法

      两种特殊符号{ {} }、{%%},变量相关用{ {} },逻辑相关用{%%}

      变量

      {变量名}

      变量名由字母数字和下划线组成

      点(.)在模板语言中有特殊含义,用来获取对象的相应属性值

      模板中支持的写法:

        {#取1中的第一个参数#}  {{1.0}}

        {#取字典中key的值#}   {{d.name}}

        {#取对象的name属性#}  {{person_list.0.name}}

        {#操作只能调用不带参数的方法#}  {{person_list.0.dream}}

      内置Filters

        法:{{value|filter_name:参数}}

        default

          {{value:default:‘nothing’}}  如果value值没传的话就显示nothing

        length

          {{value|length}}    返回value的长度,如value=[a,b,c,d]的话,就显示4。(‘|’左右两边没有空格)

        filesizeformat

          将值格式化“一个人类可读”的文件尺寸(例如,13kb,4.1M,202bytes等)

          {{123456789|filesizeformat}}  输出117.7MB

        slice  切片

          {{value|slice:“2:-1”}}

        date  格式化

          {{value|date:“Y-m-d H:i:s”}}

        safe

        Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因是为了安全。但有时候我们不希望有一些HTML标签被转义,比如做一个内容管理系统,后台添加的文章中是经过装饰的

        这些装饰可能是通过一个类似于FCKedirtor编辑加注了HTML装饰符的文本,如果自动转义的话显示的就是保护HTML标签的源文件。为了在Django中关闭HTML的自动转义有两种方式,如果

        是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。

        truncatechars

        如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号系列(“...”)结尾

        参数:截断的字符串

        {{value|truncatechars:9}}

      自定义Filter

        自定义过滤器只是带有一个或两个参数的Python函数:

        变量(输入)的值——不一定是一个字符串

        参数的值-这可以有一个默认值,或者完全省略

      for循环

        <ul>

        { %for user in user-list% }

          <li>{{user.name}}</li>

        { %endfor% }

        </ul>

        for循环可用的一些参数

          

      if,elif,else

        if语句支持and、or、==、>、<、!=、<=、>=、in、not in、is、is not判断

      with

      定义一个中间变量

      csrf_token

      这个标签用于跨站请求伪造保护

      在页面的form表单里面写上{%csrf_token%}

      注释

        母版  我们通常会在母版中定义页面专用的JS块、CSS块,方便子页面替换

        继承母版  在子页面中在页面最上方使用下面的语法来继承母版

          {%extends ‘layouts.html%’}

      块(block)

        通过在母版中使用{%block XXX%}来定义“块”

        在子页面中通过定义母版中的block名来对应替换母版中相应的内容

      组件

        可以将常用的页面内容如导航条,页面信息等组件保存在单独的文件中,然后在需要使用的地方按如下语法导入即可

        {%include‘navbar.html’%}

      静态文件相关

        {%load static%}

        <img src="{%static "mytest.js"%}"alt="Hi!"/>

        引用JS文件时使用:

        {%load static%}

        <script src="{%static "mytest.js"%}"></script>

        某个文件多处被用到可以存为一个变量

        {%load static%}

        {%static “images/hi.jpg” as myphoto%}

        <img src="{{myphoto}}"></img>

        使用get_static_prefix

        {%load static%}

        <img src="{%get_static_prefix%}images/hi.jpg"alt="hi!"/>

        inclution_tag多用于返回html代码片段

  • 相关阅读:
    主成分分析法
    K-means算法
    高斯混合模型
    data structure test
    八皇后问题求解
    商品管理系统课程设计
    哈佛商学院20部必看电影
    usaco1.1
    Visual Studio 2012 出现关于ActivityLog.xml错误的解决方案
    2012蓝桥杯决赛题
  • 原文地址:https://www.cnblogs.com/jacky912/p/10430286.html
Copyright © 2020-2023  润新知