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的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
python将ansible配置转为json格式实例代码
May 15 Python
python简单图片操作:打开\显示\保存图像方法介绍
Nov 23 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
PyQt5 对图片进行缩放的实例
Jun 18 Python
python实现中文文本分句的例子
Jul 15 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
解决django FileFIELD的编码问题
Mar 30 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
用opencv给图片换背景色的示例代码
Jul 08 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
python3 re返回形式总结
Nov 20 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
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
Python异常的检测和处理方法
2018/10/26 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
python编写实现抽奖器
2020/09/10 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
店长岗位的工作内容
2013/11/12 职场文书
社区志愿者心得体会
2014/01/03 职场文书
我的祖国演讲稿
2014/05/04 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
五一劳动节活动总结
2015/02/09 职场文书
小学教育见习总结
2015/06/23 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS