一、模版的使用

配置

如果是命令行创建的项目需要手动配置模版文件目录(如果是Pycharm创建的项目则无需配置)
在项目根目录下创建目录templates, 用来存放模版文件
在项目的配置文件夹settings.py里配置:

# 指定模版文件保存到那个目录下
TEMPLATES=[ 'DIRS':[os.path.join(BASE_DIR, 'templates')],]

定义

在templates目录中存放模板文件,如index.html

渲染

方式一: 通过render函数

return render(request, 'index.html', context)
  • 参数1:请求对象
  • 参数2:模块路径
  • 参数3:字典数据

方式二: 通过Template对象的render方法

return HttpResponse( loader.get_template('index.html')
.render(context))

二、模版语法

1、模板变量

变量规则: 变量名必须由字母、数字、下划线(不能以下划线开头)和点组成
语法:{{变量}}
数据类型:python内建类型或者对象
模板变量从哪里存送进来:

//在模板渲染的时候,通过字典的形式传入
(return render(request, 'index.html', 字典))
//模板变量名就是这个字典里的键名

2、模板语句

for循环

{% if ... %}
逻辑1
{% elif ... %}
逻辑2
{% else %}
逻辑3
{% endif %}

if条件

{% if ... %}
逻辑1
{% elif ... %}
逻辑2
{% else %}
逻辑3
{% endif %}

比较运算符

==
!=
<
>
<=
>=
注意:运算符左右两侧必须有空格。

布尔运算符

and
or
not
注意:运算符左右两侧必须有空格。

3、过滤器

语法:变量|过滤器:参数
safe
length:返回字符/元素个数
default:data|default:'默认值'
date: value|date:"Y年m月j日 H时i分s秒"; 格式符:Y表示年,m表示月,d表示日01,j表示日1,H表示时24,h表示时12,i表示分,s表示秒

4、注释

单行
{#...#} 多行
{% comment %}
...
{% endcomment %}

5、模板继承

父模板

如果发现在多个模板中某些内容相同,那就可以使用block标签把这段内容定义到父模板中。

{% block 块名称 %}
预留区域,可以编写默认内容,也可以没有默认内容
{% endblock %}

子模版:

  • 继承声明:

    {% extends "父模板路径" %}
  • 对有需要的block进行重写:
    {% block 名称 %}
    子模板的内容
    {{ block.super }} 显示父模板中block的内容
    {% endblock %}

    不用重写父模版中的所有block,如果子模版没有重写,则使用父模版定义的默认值。
    可以使用 block.super 来包含父模板的块中定义的内容

Django:(06)Django模版的更多相关文章

  1. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

  2. 06: Django Admin

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  3. 06.Django基础五之django模型层(二)多表操作

    一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...

  4. django: django rest framework 分页

    django: django rest framework 分页 2018年06月22日 13:41:43 linux_player_c 阅读数:665更多 所属专栏: django 实战   版权声 ...

  5. Django settings — Django 1.6 documentation

    Django settings - Django 1.6 documentation export DJANGO_SETTINGS_MODULE=mysite.settings django-admi ...

  6. Python之路【第二十三篇】:Django 初探--Django的开发服务器及创建数据库(笔记)

    Django 初探--Django的开发服务器及创建数据库(笔记) 1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django ...

  7. Django 初探--Django的开发服务器及创建数据库(笔记)

    1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django提供的内置服务器可以在代码修改时自动加载,从而实现网站的迅速开发. ...

  8. Django之django模型层二多表操作

    一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...

  9. Django之Django终端打印SQL语句

    Django之Django终端打印SQL语句 在Django项目中,settings.py文件中,在最后添加如下代码即可实现在Django终端打印SQL语句. LOGGING = { 'version ...

  10. Django 框架 django的请求生命周期

    概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串,同时http请求是无状态的,可以通过session和cookie来辅助. 浏览器通过ip和端口及路由方式访问服务端. 在Djang ...

随机推荐

  1. iView的tree组件实现单选功能

    iView中的树组件有复选框可以多选,但是目前还没有提供单选框的模式,不显示复选框可以提供高亮单选的模式,但是再次点击就被取消了,没有实现真正的单选: tree 的属性配置中 multiple 是否支 ...

  2. solr query没有反应,地址报错查询的地址error

    随便修改了一下angular.js,保存,再修改,就可以查询了 问题应该是对文件没有操作权限.感觉solr在部署时对文件的授权还是很重要的

  3. /bin/sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8) centos7

    今天登陆centos 7 遇到一个 警告 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8) bash : ...

  4. SIGAI机器学习第五集 贝叶斯分类器

    讲授贝叶斯公式.朴素贝叶斯分类器.正态贝叶斯分类器的原理.实现以及实际应用 大纲: 贝叶斯公式(直接用贝叶斯公式完成分类,计算一个样本的特征向量X属于每个类c的概率,这个计算是通过贝叶斯公式来完成的. ...

  5. 007_STM32程序移植之_多通道ADC转换

    1. 测试环境:STM32C8T6 2. 测试:使用DMA进行多通道ADC转换 3. 描述:用 ADC 连续采集 12 路模拟信号,并由 DMA 传输到内存.ADC 配置为扫描 并且连续转换模式,AD ...

  6. ES6-21.class基本语法

    1.简介(详情参考) class是构造函数的语法糖. class的constructor方法内的实现,就是原来构造函数的实现. class内的所有方法都是在prototype上的,就是原来构造函数的p ...

  7. [POI2008]BLO-Blockade 割点

    [POI2008]BLO-Blockade 割点 题面 容易想到用\(\text{Tarjan}\)求割点.对于非割点,会损失\(2\times(n-1)\)次访问(注意是互相访问,所以要乘2):对于 ...

  8. shell 统计行数,单词个数,字符个数

    如果我们想知道1.txt中有多少行,多少个单词,多少个字符.我们可以使用wc命令.选项与参数-l:今列出行-w:今列出多少字(英文单词)-m:多少字符[zhang@localhost ~]$ cat ...

  9. 十二、 RAID

    https://blog.51cto.com/sonlich http://note.youdao.com/noteshare?id=17083150f38dd19343f82ea6cc0e0e62& ...

  10. Oracle 11g win32位 window7下安装教程

    1.首先是去http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html官网下载oracle11 ...