Django:(06)Django模版
一、模版的使用
配置
如果是命令行创建的项目需要手动配置模版文件目录(如果是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模版的更多相关文章
- Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)
Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...
- 06: Django Admin
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- 06.Django基础五之django模型层(二)多表操作
一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...
- django: django rest framework 分页
django: django rest framework 分页 2018年06月22日 13:41:43 linux_player_c 阅读数:665更多 所属专栏: django 实战 版权声 ...
- Django settings — Django 1.6 documentation
Django settings - Django 1.6 documentation export DJANGO_SETTINGS_MODULE=mysite.settings django-admi ...
- Python之路【第二十三篇】:Django 初探--Django的开发服务器及创建数据库(笔记)
Django 初探--Django的开发服务器及创建数据库(笔记) 1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django ...
- Django 初探--Django的开发服务器及创建数据库(笔记)
1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django提供的内置服务器可以在代码修改时自动加载,从而实现网站的迅速开发. ...
- Django之django模型层二多表操作
一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...
- Django之Django终端打印SQL语句
Django之Django终端打印SQL语句 在Django项目中,settings.py文件中,在最后添加如下代码即可实现在Django终端打印SQL语句. LOGGING = { 'version ...
- Django 框架 django的请求生命周期
概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串,同时http请求是无状态的,可以通过session和cookie来辅助. 浏览器通过ip和端口及路由方式访问服务端. 在Djang ...
随机推荐
- 一步一步pwn路由器之wr940栈溢出漏洞分析与利用
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 这个是最近爆出来的漏洞,漏洞编号:CVE-2017-13772 固 ...
- python MySQL安装依赖报错的坑
0X01 问题 MySQL-python是python调用MySQL的常用库 通常安装时会遇到某些坑. EnvironmentError: mysql_config not found yum -y ...
- struts2之使用oracle分页(10)
ToolsUtil //每页显示的记录数 public static final int NUM_PER_PAGE=5; /* * java.util.Date转java.sql.Date */ pu ...
- Codeforces Round #539 (Div. 1) 1109F. Sasha and Algorithm of Silence's Sounds LCT+线段树 (two pointers)
题解请看 Felix-Lee的CSDN博客 写的很好,不过最后不用判断最小值是不是1,因为[i,i]只有一个点,一定满足条件,最小值一定是1. CODE 写完就A,刺激. #include <b ...
- [Google Guava] 3-缓存
原文地址 译文地址 译者:许巧辉 校对:沈义扬 范例 01 LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() ...
- Verilog Tricks
1,可用generate产生512*FIFO 2,Vivado的warning也要全部排除 3,小module测完再往大module加 4,复位和IDLE处的置零操作一定要写全了 5,设计通信接收机时 ...
- MultipartFile 类
本文链接:https://blog.csdn.net/Peter_S/article/details/84951978今天说下 MultipartFile 这个类吧,这两天正在用,也在网上查了查资料, ...
- 2019牛客暑期多校训练营(第六场)E 构造、原图是补图的同构图
https://ac.nowcoder.com/acm/contest/886#question 题意 问是否存在某个n个点的无向图G是其补图H的同构图,若存在输出G的邻接矩阵以及H关于G的映射. ...
- 关于slf4j log4j log4j2的jar包配合使用的那些事
由于java日志框架众多(common-logging,log4j,slf4j,logback等),引入jar包的时候,就要为其添加对应的日志实现.. 不同的jar包,可能用了不同的日志框架,那引用了 ...
- 树莓派打造mini广播(FM)系统
树莓派打造mini广播(FM)系统 注意相关法律限制功率大小和频段.,以下只能用于测试目的 github项目: https://github.com/miegl/PiFmAdv 安装: apt-get ...