Django-模板

Django框架

        -模板

一、模板的功能

产生html页面,控制页面上展示的内容。模板文件不仅仅是一个html文件,模板文件包含两部分内容
静态内容
        css、js、html
动态内容
        用于动态产生一些网页内容,通过模板语言来产生

二、模板文件的使用

render()方法

from django.shortcuts import render
视图里面默认导入django.shortcuts的render()方法
render(request, "模板路径", {参数})方法
返回一个渲染好的html内容的HttpResponse对象 

模板文件的加载顺序

1、首先去配置的模板目录(可以配置多个目录,从前往后找)下去找模板文件

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

 三、模板语言DTL(Django Template Language)

1、模板变量
由数字、字母、下划线和点组成的,不能以下划线开头
使用模板变量
{ {模板变量名}}
模板变量解析顺序
例:{ {book.btitle}}
(1)首先把book当成一个字典,把btitle当成键名,进行取值book["btitle"]
(2)把book当前一个对象,把btitle当成属性,进行取值book.btitle
(3)把book当前一个对象,把btitle当成对象方法,进行取值book.btitle()
例:{ {book.0}}
(1)首先把book当成一个字典,把0当成键名,进行取值book["0"]
(2)把book当成一个列表,把0当成下标,进行取值book[0]
如果解析失败,则产生内容时用空字符串填充模板变量
使用模板变量时,前面可能是一个字典,也可能是个对象,还可能是个列表

2、模板标签:{%代码段%}
for循环
        {%for x in 列表%}
                #列表不为空执行
        {%empty%}
                #列表为空时执行
        {%endfor%}
可以通过{ {forloop.counter}}得到for循环遍历到了第几次
if分支
        {%if 条件%}
                #满足条件执行
        {%elif 条件%}
                #满足条件执行
        {%else%}
                #不满足以上条件执行
        {%endif%}

关系比较操作:>、<、>=、<=、==、!=
注:进行比较操作时,比较操作符两边必须有空格
逻辑运算:not、and、or
3、过滤器

作用:用于对模板变量进行操作

使用过滤器格式:过滤器就相当于一个函数,“:”后面写参数
模板变量 | 过滤器:参数
模板变量 | 过滤器

常用过滤器
date:改变日期显示格式

        例:把日期显示成xxxx年xx月xx日形式
        { {book.bpub_date|date:"Y年-m月-d日"}}
length:求字符串、列表长度
        例:{ {book.btitle|length}}
default:设置模板变量默认值
        当模板变量不存在时,使用默认值
        例:{ {xxx|default:"hello"}}

自定义过滤器步骤

1、应用下面新建一个python的包,包名为templatetags

2、包下面创建一个python文件,名字可自定义

3、在python文件里面自定义过滤器,过滤器其实就是python的函数

(1)导入Library这个类

        from django.template import Library

(2)创建一个Lib

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值