Django框架模版渲染与过滤器使用

模版渲染

语法

#{{变量名}}  HTML页面中使用
    用后台返回的变量来替换HTML中的字段
    #获取后台返回的name变量,把他放到标签中
    <h1>{{ name }}</h1>
#{% 处理逻辑相关的  %}
    在前段用逻辑处理后态返回的数据,比如for循环,if判断,with取别名等python代码逻辑
    <ul>
        #获取后带返回的列表lst,循环列表,生成多个li标签
        {% for i in lst %}
        <li>{{ i }}</li>
        #声明for循环逻辑的结束
        {% endfor %}
    </ul>

'''后台返回数据的方式'''
#在请求返回的逻辑中,定义变量,用render的方式返回HTML页面的时候,把要返回的数据放在第三个参数,返回给前段,
def home(request):
    time=datetime.datetime.now()
    name='张达'
    dic={'name':'张达','age':'88','sex':[11,22,33]}
    lst=[11,22,33]
    lst1=[]
    class person():
        n = '张达666'
        def p(self):
            return '张达777'
    #返回数据的方式一: 使用locals()方法,获取当前函数中的所有局部变量,返回给前端
    return render(request,'home.html',locals())
    #返回数据的方式er:使用字典的方式返回数据,字典键相当于是给数据去一个别名,值就是数据
    return render(request,'home.html',{'name':name,'time':time,'dic':dic})

万能的点

    #通过索引获取列表的值
    <h1>{{ lst.1 }}</h1>
    #通过实例化对象来调用方法,获取返回值和类中的局部变量
    <h1>{{ obj.p }}</h1>
    #获取字典的所有键,值,键值对,获取的是一个
    <h1>{{ dic.items }}</h1>
    <h1>{{ dic.keys }}</h1>
    <h1>{{ dic.values }}</h1>

过滤器

'''都是在前端页面中使用'''
#default
    如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。
    {{ value|default:"nothing"}}#给value这个值设置一个默认值,如果value没有传值或者值为空的话就显示nothing
#length
    返回值的长度,作用于字符串和列表
    {{ value|length }}#返回value的长度,如 value=['a', 'b', 'c', 'd']的话,就显示4.
#filesizeformat
    将值格式化为一个 “人类可读的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:
    {{ value|filesizeformat }}#如果 value 是 123456789,输出将会是 117.7 MB。
#slice
    切片,如果 value="hello world",还有其他可切片的数据类型
    {{value|slice:"2:-1"}}
#date
    格式化时间,如果 value=datetime.datetime.now()
    {{ value|date:"Y-m-d H:i:s"}}
#safe
    后端发送一个字符串形式的TML标签,前端可以通过safe方法,把这个字符串变成前端标签
    value = "<a href='#'>点我</a>"   和   value="<script>alert('123')</script>"
    {{ value|safe}}#会把value变成一个标签,放到页面上
#truncatechars
    如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“...”)结尾
    {{ value|truncatechars:9}} #注意:最后那三个省略号也是9个字符里面的,也就是这个9截断出来的是6个字符+3个省略号,配合前端的点击事件就可以展开这三个点
#truncatewords
    在一定数量的字后截断字符串,是截多少个单词,以空格来计算字符串
    例如:‘hello girl hi baby yue ma’,
    {{ value|truncatewords:3}}  #得到的结果是 'hello girl h1...'
#cut
    移除value中所有的与给出的变量相同的字符串
    {{ value|cut:' ' }}#如果value为'i love you',那么将输出'iloveyou',移除空格
#join
    使用字符串连接列表,{{ list|join:', ' }},就像Python的str.join(list)
    <h1>{{ l1|join:'+' }}</h1>
#timesince(了解)
    计算时间差
    {{ blog_date|timesince:comment_date }}#comment_date减去blog_date的时间的时间差
#timeuntil(了解)
    和timesince一样,不过时间可以指定
    {{ conference_date|timeuntil:from_date }}#conference_date减去from_date的时间差

原文地址:https://www.cnblogs.com/luckinlee/p/11622241.html

时间: 2024-11-09 17:52:28

Django框架模版渲染与过滤器使用的相关文章

Django框架模版继承与组件使用

模版继承(母版继承) 模版继承可以创建一个基本的"骨架"模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 blocks . <!--设置一个共同的HTML模版(一个HTML文件,base.html)--> <!--其他的html文档来继承这个公共的母版--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8

Django框架04 /模板渲染

1. 语法 关于模板渲染需要记两种特殊符号(语法): {{ }}和{% %} 变量相关的用{{}},逻辑相关的用{%%}. 2. 变量 --- 万能的点 在Django的模板语言中按此语法使用:{{ 变量名 }}. 1.当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身. 变量的命名包括任何字母数字以及下划线 ("_")的组合. 变量名称中不能有空格或标点符号. 2.深度查询据点符(.)在模板语言中有特殊的含义.当模版系统遇到点("."),它将以这样的

在Python的Django框架中加载模版的方法

在Python的Django框架中加载模版的方法 为了减少模板加载调用过程及模板本身的冗余代码,Django 提供了一种使用方便且功能强大的 API ,用于从磁盘中加载模板, 要使用此模板加载API,首先你必须将模板的保存位置告诉框架. 设置的保存文件就是settings.py. 如果你是一步步跟随我们学习过来的,马上打开你的settings.py配置文件,找到TEMPLATE_DIRS这项设置吧. 它的默认设置是一个空元组(tuple),加上一些自动生成的注释. TEMPLATE_DIRS =

Django框架基础

Django基础-Lesson1 web框架概念 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端.  socket模拟服务端 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回. 如果要动态生成HTML,就需要把上述步骤自己来实现.不过,接受HTTP

Django框架简介及模板Template

Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点. 想要更详细的了解MVC模式? >> 点我 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Templ

Django框架之模板

Django框架之模板层 什么是模板 需要返回给浏览器的html文件 Django的模板 = HTML代码 + 模板语言 模板语言 有与我们直接返回html页面的话,那他只是一个静态页面无法实现前后端数据交互,那么我们就需要经过页面渲染,让静态文件呈现出动态页面的效果. 模板语言的变量 如果我们需要将后端的数据传递到前端页面渲染,就需要用到模板语言中的变量 用法:通过{{}}来获取后端传递过来的数据 变量支持的数据类型: int float str dict list tuple set boo

Django框架&lt;一&gt;

Django框架 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 一.django的安装实现和目录介绍 1.django实现流程 django #安装: pip3 install django 添加环境变量 #1 创建project django-admin startproject mysite ---mysite ---settings.p

Django框架

Django框架全面讲解 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 本文将带大家全面了解Django框架,笔者使用的版本为1.10. 1 Django流程介绍 2 Django 基本配置 一.创建django程序 终端命令:django-admin startproject sitename  (在当前目录下创建一个Django程序) I

Python之Django框架

1.Django简介 Python下有多款不同的 Web 框架,Django是最有代表性的一种.许多成功的网站和APP都基于Django. Django是一个开源的Web应用框架,由Python写成. Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 2.Django的特点 1) 强大的数据库功能:用python的类继承,几行代码就可以拥有一个动态的数据库操作API,如果需要也能执行SQL语句. 2) 自带的强大的后台功能:几行代码就让网站拥有一个强大的后台,轻松管理内容.