Django 03 模板路径、模板变量、常用的过滤器
Django 03 模板路径、模板变量、常用的过滤器
一、模板路径
#1、在每个app下面添加一个templates文件 #2、在项目views.py里面第33行INSTALLED_APPS里面添加上'book'这个app名 path('test1',views.test1) def test1(request):
return render(request,'test.html') #不需要路径,直接可以打开当前目录的html文件
#模板路径配置总结
#这是一个设置选项的列表,模板大多数包含两项通用设置;两种方式配置模板
#方法1、DIRS定义一个目录列表,模板引擎按列表顺序搜索这些目录以查找模板源文件。将templates放在主项目目录下
#方法2、APP_DIRS告诉模板引擎是否应该进入每个已安装的应用中查找模板,值为True则模板会去安装了的app下面的templates文件夹查找模板。所以我们也可以在每个app的里面创建模板目录templates存放模板,这种方式需要将这个app添加到setting.py文件的INSTALLED_APPS列表中
二、模板变量
ls = ['x','y','z']
dc = {'a':1,'b':2}
def hello():
return 'GGGG'
class Fruits:
def __init__(self,name,color):
self.name = name
self.color = color
def say(self):
return 'hehehehe'
ap=Fruits('apple','red') def book_index2(request,xx):
name = 'takadasdsa'
return render(request,'book/index.html',
context={'name':'taka', #通过context来传变量
'age':xx,#变量xx
'list':ls,#列表
'dict':dc,#字典
'hello':hello,#函数
'fruits_say':ap.say,#类方法
}
)
#这是在模板内的代码
这是book中模板渲染的文件 <br>
你好 {{ name }} 今年 {{ age }} <br>
函数对象:{{ hello }} <br>
类方法:{{ fruits_say }} <br>
list:{{ list }} <br>
list的元素 : {{ list.1 }} <br> #用点的方法来获取元素
字符串的元素: {{ name.2 }} <br>
字典: {{ dict }} <br>
字典的元素: {{ dict.a }} <br>
#模板变量使用规则
#1、语法:{{ 变量名 }}
#2、命名由字母和数字及下划线组成,不能有空格和标点符号
#3、可以使用字典、模型、方法、函数、列表
#4、不要和Python或者django关键字重名
#5、变量和查找 #注:
#1、如果data是一个字典,name访问data.items将会访问data这个字典的key为items的值,而不会访问字典的items方法
#2、点在模板渲染时有特殊的含义,变量名中点表示查找
三、过滤器
#过滤器
#作用:对变量进行过滤。在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来 {{ fruits|lower|capfirst }} #中间的管道符
#作用:管道符号进行链式调用,比如实现一个功能,先把所有字符变成小写,把第一个字符转换为大写 {{ fruits|cut:"" }}#使用参数:
#过滤器可以使用参数,在过滤器名称后面使用冒号,在加上参数,比如要把一个字符串中的所有空格去掉,则可以使用cut过滤器
ls = ['x','y','z']
dc = {'a':1,'b':2}
def hello():
return 'GGGG'
class Fruits:
def __init__(self,name,color):
self.name = name
self.color = color
def say(self):
return 'hehehehe'
ap=Fruits('apple','red') def book_index2(request,xx):
test = 'THIS IS A PIPITA'
return render(request,'book/index.html',
context={
'test':test,
'list':ls,
'time':datetime.datetime.now,
'html':'<h1>hello django</h1>',
'float':3.15155515145, }
<body>
test原版: {{ test }} <br>
小写: {{ test|lower }} <br>
去掉空格: {{ test|cut:' ' }} <br>
首字母大写: {{ test|capfirst }} <br>
添加: {{ test|add:'asd' }} <br> 如果变量不存在则输出默认值: {{ xxxx|default:test }} <br>
如果变量为None则输出默认值: {{ xxxx|default_if_none:test }} <br> 取列表的第一个值: {{ list|first }} <br>
取列表的最后一个值: {{ list|last }} <br>
切割列表(左闭右开):{{ list|slice:'1:' }} <br> 字符串每个元素都以某个元素拼接: {{ test|join:' ' }} <br>
字符串长度:{{ test|length }} <br>
确认字符串长度是否为指定的值: {{ test|length_is:15 }} <br> 根据后面给的参数,截断字符,如果超过了用...来表示(包括...在内共计数量): {{ test|truncatechars:10 }} <br>
根据给的参数,以单词为单位截断字符(不包括...):{{ test|truncatewords:2 }} <br> 日期时间值:{{ time|date:'Y/m/d/H:i:s' }} <br>
时间值: {{ time|time:'h:i:s' }} <br> html原版: {{ html }} <br>
去除html标签: {{ html|striptags }} <br>
实现html标签转义: {{ html|safe }} <br> 浮点数原版:{{ float }} <br>
浮点数初始化(保留两位小数): {{ float|floatformat:2 }} <br> </body>
date和time过滤器格式
Django 03 模板路径、模板变量、常用的过滤器的更多相关文章
- Django——3 模板路径 模板变量 常用过滤器 静态文件的使用
Django 模板路径 模板变量 过滤器 静态文件的加载 模板的路径,有两种方法来使用 设置一个总的templates在大项目外面,然后在sittings的TEMPLATES中声明 在每一个APP中创 ...
- TP框架的模板路径问题以及常用的模板常量的定义
在TP框架中,为了各个模块加载静态文件方便,往往是不需要按照默认的方式放置静态文件到/app/模块名/VIEWS/下面,而是在顶级目录下创建一个新的目录(比如说./tpl目录下),来存放静态文件 ...
- 潭州课堂25班:Ph201805201 django框架 第三课 模板路径,变量,过滤器,静态文件的引用 (课堂笔记)
第二种方法 首先 'APP_DIRS': True, 将 app 的名字在 INSTALLED_APPS 进行注册 模板变量 传的各种数据类型,和取值 过渡器: 静态文件: 在项目文件目录 中创建 ...
- 3/21 Django框架 模板路径及模板过滤器 1.模板路径查找
3/21 Django框架 模板路径及模板过滤器 1.模板路径查找 先找settings.py里的TEMPLATES列表下的DIRS路径.如果APP_DIRS为True,还会到注册了的APP文件夹下依 ...
- Django框架之第五篇(模板层) --变量、过滤器、标签、自定义标签、过滤器,模板的继承、模板的注入、静态文件
模板层 模板层就是html页面,Django系统中的(template) 一.视图层给模板传值的两种方法 方式一:通过键值对的形式传参,指名道姓的传参 n = 'xxx'f = 'yyy'return ...
- Django框架(七)—— 模板层:变量、过滤器、标签、自定义标签和过滤器
目录 模板层:变量.过滤器.标签.自定义标签和过滤器 一.模板层变量 1.语法 2.使用 二.模板层之过滤器 1.语法 2.常用过滤器 3.其他过滤器 三.模板值标签 1.for标签 2.if标签 3 ...
- Django模板之模板变量过滤器
在Django的模板语言中,通过使用 过滤器 来改变变量的显示:Django的模板语言中提供了大约六十个内置过滤器. 过滤器规则: · 过滤器的语法: {{ value|filter_ ...
- django 模板中通过变量替代key取字典内容
模板中通过变量替代key取字典内容 templatetags/├── get_item.py├── __init__.py ###get_item.py # coding=utf-8 from dja ...
- Django入门--模板路径配置及渲染
模板就是前端的页面,Django把html源码写到模板文件中,然后通过特定方法渲染后交给客户端. 模板路径设置方法有两种,分别是在项目目录下设置以及在应用目录下设置. 模板查找顺序:优先在DIRS设置 ...
随机推荐
- FFMPEG实现的转码程序
本例子是由FFEMPG的doc/example例子transcode.c修改而来,可以根据需求任意转换音视频的编码. 原来的例子的作用更类似于remux,并没有实现转码的功能,只是实现了格式转换,比如 ...
- noip模拟赛Bywzj52501 17.10.18
T1 rob 环形消灭虫子 先想出了一个n^2暴力 然后我们想到 如果从两个连续的点求解 则会出现仅有的两种结果 (因为这两种情况的交是全集) 当时因为Naive求了50次 #include<i ...
- DEBUG命令说明
Debug在学习汇编的过程中,担任着一个非常重要的角色,是一个极其重要的调试工具,所以学会它是必须得. 命令格式 功能说明 A [地址] 输入汇编指令 C [范围] 起始地址 对由“范围”指定的区域与 ...
- UML Design Via Visual Studio-Sequence Diagram
本文主要介绍在Visual Studio中设计时序图,内容如下: 何时使用时序图 时序图元素介绍 条件.循环在时序图中的使用 直接通过代码生成时序图 一.何时使用时序图 当要查看单个用例内若干对象的行 ...
- hdoj1113(字符串map应用)
#include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...
- WPF Invoke与BeginInvoke的区别
Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托. Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句 ...
- 问题:OAuth1.0;结果:OAuth1.0协议
OAuth1.0协议 概要 OAuth提供了一种client代表资源的拥有者访问server的方法,也就是在资源拥有者不向第三方提供证书(通常是指用户名和密码)的情况下,允许第三方使用用户代理重定向访 ...
- sharepoint Foundation 2013安装过程
安装完必备软件后,便可安装sharepoint Foundation 2013
- [51nod1058]求N!的长度
法1:stirling公式近似 $n! \approx \sqrt {2\pi n} {(\frac{n}{e})^n}$ (如果怕n不够大下式不成立,可以当数小于10000时用for求阶层) 也可以 ...
- 功能:formatter 表单提交 拼接参数的形式
datagarid的formatter属性 value: 代表当前单元格中的值.row:代表当前行.index: 代表当前行的下标. {field:'is_hot',title:'是否热门',widt ...