博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django的模板引擎与模板使用
阅读量:3908 次
发布时间:2019-05-23

本文共 2022 字,大约阅读时间需要 6 分钟。

Django的模板引擎

模板引擎是模板响应的后端

模板引擎的配置

settings.py文件中对模板引擎进行配置 (BACKEND字段)

模板目录在列表中的顺序是搜索模板的顺序

TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, "msgapp/templates")],#模板目录'APP_DIRS': True,'OPTIONS': {
'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},]

模板的查找

get_template(template_name) -> Template类

在模板目录列表中,依次查找某个模板,直到找到并返回Template类
如果未找到模板,则抛出TemplateDoesNotExist异常
template_name : 待查找模板的名称
select_template(template_name_list) -> Template类
与get_template()相似,依次按照模板列表查找某个模板,直到找到第一个
并返回Template类,未找到则抛出TemplateDoesNotExist异常
· template_name_list : 待查找模板名称列表

模板的渲染

Template.render(context, request) -> HTML字符串

模板对象的.render()方法用于将模板结合内容渲染成HTML字符串
· context : 字典类型,用于加载到模板中的内容
· request : HTTP请求
渲染render()
将模板和内容整合到一起,返回HTML字符串

try:	tpl = get_template("MsgSingleWeb.html")except:	return HttpResponseNotFound("

自定义的404

")html = tpl.render({
"data":datalist}, request)return HttpResponse(html)

模板使用步骤

步骤1:指定Template:定义一个Template类

步骤2:进行渲染:通过Context类或字典类

def pgproc(request):	template = Template("

这个程序的名字是 {
{ name }}

") context = Context({
"name" : "实验平台"}) return HttpResponse(template.render(context))

Django模板语言入门

模板语言:指导模板加载数据方式的工具

DTL: Django Template Language
参考官网

模板语言

• 注释 comment

• 变量 variable
• 标签 tags
• 过滤器 filter

注释

单行注释: {# 这是单行注释 #}
多行注释: {% comment %}
这是多行注释第一行
这是多行注释第二行
{% endcomment %}
• 变量
{
{ name }}
如果变量本身是字典类型、列表类型或对象,用.获取元素
{
{ adict.key }} {
{ alist.0 }}
{
{ aobject.attribute }}
• 标签
{% 关键字引导的程序逻辑 %}
标签中的关键字包括
for, endfor, block, endblock, if, elif, else,
endif, in, trans, as, with, extends 等

{
% for line in data %} {
{
line.time }} {
{
line.userA }} {
{
line.msg }}{
% endfor %}

• 过滤器

{
{ name|过滤标签 }} {
{ name|f1|f1 }}
过滤器对变量的值进行修饰
lower, escape, linebreaks, date, length等

{
{
name|lower }}{
{
my_date|date:"Y-m-d" }}

转载地址:http://ifkrn.baihongyu.com/

你可能感兴趣的文章
Python yield
查看>>
Sina API OAuth
查看>>
Python supervisor
查看>>
dict & set
查看>>
Common Multiple and Least Common Multiple(LCM)
查看>>
大数据处理
查看>>
Js Event Loop
查看>>
git init --bare
查看>>
setting up a new remote git repository
查看>>
tcpdump practice
查看>>
python signal handling
查看>>
signals linux
查看>>
Mysql服务器调优
查看>>
spring相关面试题
查看>>
java面向对象设计的六大原则
查看>>
java面向对象6大原则2
查看>>
java线程池学习
查看>>
Java线程:概念与原理
查看>>
Java线程:并发协作-死锁
查看>>
《构建高性能web站点》笔记--基础架构篇
查看>>