Django模板简介
在settings.py中有个TEMPLATES的设置,其中BACKEND用来配置Django模板引擎,
DIRS 定义了一个目录列表,模板引擎按列表顺序搜索这些目录以查找模板源文件
一般我们都会把模板文件放到一个叫templates的文件夹,所以一般DIRS的路径设置为:
'DIRS': [os.path.join(BASE_DIR, 'templates')]
当 APP_DIRS 为 True 时, DjangoTemplates 引擎会在已安装应用的 templates 子目录中查找模板文件。
OPTIONS 中包含了具体的backend设置:比如context_processors
其作用是返回一些dict并合并到模板内容中去,比如django.template.context_processors.csrf
它就会返回CSRF token返回一个key值是csrf_token的dict.
Django模板是一个简单的文本文档,或用Django模板语言标记的一个Python字符串。 某些结构是被模板引擎解释和识别的。主要的有变量和标签。
模板是由context来进行渲染的。渲染的过程是用在context中找到的值来替换模板中相应的变量,并执行相关tags。其他的一切都原样输出
Django模板语言:
变量:变量看起来就像是这样: {{ variable }},当模版引擎遇到一个变量,它将计算这个变量,然后用context替换掉它本身
过滤器:过滤器会更改变量或标签参数的值
escape:转义字符串中的HTML,例如:<转换为<>转换为>'(单引号)转换为'
add:把add后的参数加给value 例如:{{ value|add:"2" }}
join: 使用字符串连接列表
标签:标签可以用于在输出中创建文本,可以用于控制循环或者逻辑等
{%for%} {%endfor%}
{%if%} {%elif%} {%else%}
{%extends%} 模板继承
autoescape 控制自动转义是否可用.这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果。该标签会以一个endautoescape作为结束标签
csrf_token 这个标签用于跨站请求伪造保护
ifequal:如果给定的两个参数相同,则显示被标签包含的内容,例如:
{% ifequal user.pk comment.user_id %}
...
{% endifequal %}
Django模板简介的更多相关文章
- Django框架简介及模板Template,filter
Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View) ...
- django模板(一)
模板(一) 实验简介 在前一章中,你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python 代码之中. def current_datetime(req ...
- python MVC、MTV 框架介绍 Django 模板系统常用语法
Django 框架简介一.MVC框架和MTV框架1.MVC 全名Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分.优势: 耦合性低 重用性高 生命 ...
- Django模板语言初识
一.Django框架简介 1.MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...
- Python学习(三十)—— Django框架简介
转载自:http://www.cnblogs.com/liwenzhou/p/8296964.html Django框架简介 一.MVC框架和MTV框架(了解即可) MVC,全名是Model View ...
- Django模板层
一:模板简介 二:模板语法值变量 三: 模板之过滤器 四: 模板之标签 五:自定义标签和过滤器 一:模板简介 def current_datetime(request): now=datetime ...
- Django模板层之templates
一 模版简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now ...
- Django框架简介与使用注意事项
一.Django框架简介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model). ...
- python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)
12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...
随机推荐
- linux基础-wget、apt-get、yum的区别
Linux操作系统下安装与下载软件是Linux非常基本也非常重要的命令,分清wget.apt-get.yum的区别很重要. Linux操作系统主要分为两大类: RedHat系列:Redhat.Cent ...
- PAT 1042 Shuffling Machine
#include <cstdio> #include <cstdlib> #include <vector> using namespace std; ] = {' ...
- vue——组件
一.组件概念 vue的核心基础就是组件的使用,玩好了组件才能将前面学的基础更好的运用起来.组件的使用更使我们的项目解耦合.更加符合vue的设计思想MVVM. // 定义一个名为 button-coun ...
- alpinelinux
https://wiki.alpinelinux.org/wiki/Tutorials_and_Howtos https://nixos.org/nix/manual/#ch-installing-b ...
- ANR android
1.android ANR产生原因和解决办法 2.Android ANR异常及解决方法 3.Android ANR 分析解决方法 4.[原创]Android 系统稳定性 - ANR(一) 5.[原创] ...
- [转载]AMOLED结构详解,BOE专家给你分析驱动补偿
关键词: AMOLED, 驱动补偿 有机发光显示二极管(OLED)作为一种电流型发光器件已越来越多地被应用于高性能显示中.由于它自发光的特性,与LCD相比,AMOLED具有高对比度.超轻薄.可弯曲等诸 ...
- MVG配置
MVG的配置:(前提是一个表的字段包含多值字段,一般是1:M或M:M的关系) 想要在学生界面显示多个教师的名称. 1.首先在一个Project中,建两张表学生表和教师表T_Stu与T_Tea和一张中间 ...
- java:工具类
Google guava工具类的介绍和使用:https://blog.csdn.net/wwwdc1012/article/details/82228458 Apache Commons 工具类介绍及 ...
- June 16th 2017 Week 24th Friday
Progress is the activity of today and the assurance of tomorrow. 进步是今天的活动,明天的保证. The best preparatio ...
- June 10th 2017 Week 23rd Saturday
A lot of things, we can be touched, but we can not shed tears. 很多事情,我们可以感动,却不能流泪. Sometimes I was to ...