Django基础-----Django模板系统

一、视图函数:

根据路径定义函数,目的:导入不同功能的HTML页面。
例:在views.py工作目录下,定义函数:

def teacher(request):
    return render(request,'teacher.html')

其中,teacher.html是需要从django进入并且在浏览器显示的页面,放置在templates目录下。
再去urls.py目录下导入路径,在导入路径之前先导入views这个模块:

from 父文件夹名称 import views

然后放置路径在路径列表里,运行的时候就可以显示想要显示的页面。格式如下:

urlpatterns = [
	path('teacher/', views.teacher)
]

其中,teacher/表示路径后缀。

二、模板系统:

向页面中填充内容。

1.模板系统常用符号{{}}和{%%}

如果在模板中需要解析变量使用{{}}.
如果在模板中进行逻辑相关操作使用{%%}
注释 {# … #},单行注释。

2.变量

在Django的模板系统中变量使用的语法:{{ 变量名 }}。
当模版引擎遇到变量,就会用值替换掉变量。
变量的命名可以是字母数字以及下划线 ("_")的组合。
变量名称中不能有空格或标点符号。
例:为student.html文件中填充内容:
(1)第一种方式:

在这里插入图片描述
在views.py文件中定义视图函数:
在这里插入图片描述
在这之前先导入render模块。
需要替换的内容以键值对的形式放入字典中。
在urls文件中:

urlpatterns = [
	path('student/', views.student)
]

(2)第二种方式:
在student2.html文件中:
在这里插入图片描述
定义一个空字典,将要填充的内容放入此字典中。
在views.py文件中:
在这里插入图片描述
在urls.py文件中:

urlpatterns = [
		path('student2/', views.student2)
	]

(3)将类对象传入浏览器中:
在views.py中:
在这里插入图片描述
在hobby.html中:

在这里插入图片描述
在urls.py中:

urlpatterns = [
	path('hobby/', views.hobby)
]

三、Filters(过滤器)

在Django的模板语言中,通过使用 过滤器 来改变变量的显示。(注:过滤器是函数)
过滤器的语法: {{ 变量名|过滤器名称:参数 }}
使用管道符"|"来应用过滤器。
例如:{{ name|lower }}会将name变量应用lower过滤器之后再显示它的值。lower在这里的作用是将文本全都变成小写。
在filter.html中:
在这里插入图片描述
在views.py中:
在这里插入图片描述
再导入路径,和之前相同,打开网页,HELLO会变成小写。

(1).default

如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。
{{ value|default:“nothing”}}
如果value没有传值或者值为空的话就显示nothing

(2).length

返回值的长度,作用于字符串和列表。
{{ value|length }}
返回value的长度,如 value=[‘a’, ‘b’, ‘c’, ‘d’]的话,就显示4.

(3).slice

切片
格式:{{value|slice:“2:-1”}}

(4).date

日期格式化过滤器
格式:{{ value|date:“Y-m-d H:i:s”}}

(5) .safe

Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全。但是有的时候我们可能不希望这些HTML元素被转义,比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护HTML标签的源文件。为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。
比如:value = “点我
格式:{{ value|safe}}

(6).cut

移除value中所有的与给出的变量相同的字符串
格式:{{ value|cut:’ ’ }},如果value为’i love you’,那么将输出’iloveyou’.

(7) .join

使用拼接符连接列表,例如Python的str.join(list)
格式: {{value|join:”_”}}

注意事项:

  1. '|'左右没有空格
  2. django的模板语言中提供了大约六十个内置过滤器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值