Django框架模板文件使用及模板文件加载顺序分析


Posted in Python onMay 23, 2019

本文实例讲述了Django框架模板文件使用及模板文件加载顺序。分享给大家供大家参考,具体如下:

模板功能

产生html,控制页面上产生的内容。模板文件不仅仅是一个html文件。

模板文件包含两部分内容:

1.静态文件:css,js,html

2.动态内容:用于动态的去产生一些网页内容,通过模板语言产生

模板文件的使用

通常是在视图函数中使用模板产生html内容返回给客户端

a,加载模板文件 loader.get_template

获取模板文件的内容,产生一个模板对象

b,定义模板上下文 RequestContext

给模板文件传递数据

c,模板文件渲染产生的html页面内容 render

用传递的数据替换相应的变量,产生一个替换后的表中html内容

from django.shortcuts import render
from django.template import loader,RequestContext
from django.http import HttpResponse
# Create your views here.
def my_render(request,template_path,context={}):
  # 1.加载模板文件,获取一个模板对象
  temp = loader.get_template(template_path)
  # 2.定义模板上下文,给模板传递数据
  context = RequestContext(request, context)
  # 3.模板渲染,产生一个替换后的html内容
  res_html = temp.render(context)
  # 4.返回应答
  return HttpResponse(res_html)
# /index
def index(request):
  # return my_render(request,'booktest/index.html') 这是自己封装的render
  # 其实Django已经封装好了,可以直接使用
  return render(request,'booktest/index.html')

模板文件的加载顺序

Django框架模板文件使用及模板文件加载顺序分析

1.首先去配置的模板目录下找模板文件

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

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python+mysql实现简单的web程序
Sep 11 Python
Python中的闭包总结
Sep 18 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python有序字典简单实现方法示例
Sep 28 Python
python微信公众号之关键词自动回复
Jun 15 Python
Python判断有效的数独算法示例
Feb 23 Python
Python zip函数打包元素实例解析
Dec 11 Python
简单介绍django提供的加密算法
Dec 18 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
Python分类测试代码实例汇总
Jul 23 Python
python基于tkinter制作下班倒计时工具
Apr 28 Python
python3实现无权最短路径的方法
May 12 Python
Django框架登录加上验证码校验实现验证功能示例
May 23 #Python
python图形工具turtle绘制国际象棋棋盘
May 23 #Python
python os模块简单应用示例
May 23 #Python
python使用turtle绘制国际象棋棋盘
May 23 #Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 #Python
Python3.8中使用f-strings调试
May 22 #Python
总结Python图形用户界面和游戏开发知识点
May 22 #Python
You might like
精通php的十大要点(上)
2009/02/04 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
php遍历目录方法小结
2015/03/10 PHP
php数据访问之增删改查操作
2016/05/09 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
Angular之指令Directive用法详解
2017/03/01 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
浅析Python中的多进程与多线程的使用
2015/04/07 Python
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
在Python中使用HTML模版的教程
2015/04/29 Python
Python 探针的实现原理
2016/04/23 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
django中间键重定向实例方法
2019/11/10 Python
基于python 凸包问题的解决
2020/04/16 Python
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
大学教师年终总结的自我评价
2013/10/29 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
教师节倡议书
2014/08/30 职场文书
体检通知范文
2015/04/21 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis