美文网首页
三十八:Django之模版(templates)

三十八:Django之模版(templates)

作者: 项啊丑 | 来源:发表于2020-08-18 14:25 被阅读0次

    一.模版的功能

    产生html,控制页面上展示的内容;模版文件不仅仅是一个html文件

    模版文件包含两部分内容:

    1)静态内容:css,js,html

    2)动态内容:用于动态去产生一些网页内容。通过模版语言来产生

    二:模版文件的使用

    通常是在视图函数中使用模版产生html内容返回给客户端

    1)加载模版文件 loader.get template:获取模版文件的内容,产生一个模版对象

    2)定义模版上下文 RequeseContext:给模版文件传递数据

    3)模版渲染产生html页面内容render:用传递的数据替换相应的变量,产生一个替换后的表中html内容

    三:模版文件加载顺序

    1)首先去配置的模版目录下找模版文件

    2)去 INSTALL_APPS 下面的每个应用的去找模版文件,前提是应用中必须有templates文件夹

    四:模版语言

    模版语言简称DTL(Django Template Language)

    五:模版变量

    模版变量是由数字,字母,下划线和点组成的,不能以下划线开头。

    使用模版变量:{{.模版变量名 }}

    模版变量的解析顺序:

    例如:{{  book.btitle  }}

    1)首先把book当成一个字典,把btitle当成键名,进行取值book['btitle']

    2)把book当成一个对象,把btitle当成属性,进行取值book.btitle

    3)把book当成一个对象,把btitle当成对象的方法,进行取值book.btitle

    如果解析失败,则产生内容时用空字符串填充模版变量

    使用模版变量时,.前面的可能是一个字典,可能是一个对象,开可能是一个列表

    六:模版标签

    { % 代码段 % }

    for 循环:

    {% for x in 列表 %}

    # 列表不为空时执行

    {% empty %}

    # 列表为空时执行

    {% endfor %}

    可以通过{{ for loop.counter }} 得到for循环遍历到第几次

    {% if 条件%}

    {% elif 条件%}

    {% else %}

    {% endif %}

    关系比较操作符:> < >= <= == !=

    注意:进行比较操作时,比较操作符两边必须有空格

    逻辑运算:not and or

    七:过滤器

    过滤器用于对模版变量进行操作

    date:改变日期的显示格式

    length:求长度。字符串,列表,元组,字典长度

    default:设置模版变量的默认值

    格式:模版变量|过滤器:参数

    自定义过滤器

    1.创建python package,名字固定叫templatetags

    2.创建python文件

    3.导入Library模块,创建Library对象,并装饰

    4.模版文件中加载filters文件

    5.使用自定义过滤器

    八:模版继承

    作用:重用html页面的内容

    使用方式:在子模版页面中使用extends

    九:html转义

    相关文章

      网友评论

          本文标题:三十八:Django之模版(templates)

          本文链接:https://www.haomeiwen.com/subject/ffghrktx.html