Python Django框架模板渲染功能示例


Posted in Python onNovember 08, 2019

本文实例讲述了Python Django框架模板渲染功能。分享给大家供大家参考,具体如下:

项目名/settings.py(项目配置,配置模板文件的路径):

import os
# 项目目录的绝对路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 设置模板文件目录(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',
      ],
    },
  },
]

应用名/views.py(视图,使用模板的详细步骤):

from django.http import HttpResponse
from django.template import loader,RequestContext
# 定义视图函数 (必须传递HttpRequest参数) (需要在urls.py中配置路由)
def index(request):
  # 1.获取模板
  template = loader.get_template('应用名/index.html')  # 需要在settings.py中配置模板目录
  # 2.定义上下文 (分配的模板变量)
  context = RequestContext(request,{'title':'图书列表','list':range(10)})
  # 3.渲染模板并返回 (生成html内容)
  return HttpResponse(template.render(context))

应用名/views.py(视图,使用模板的简单写法,render):

from django.shortcuts import render # 导入render
# 视图函数
def index(request):
  context = {'title':'图书列表','list':list(range(1,10))}  # 字典,分配给模板的变量
  return render(request,'应用名/index.html',context) # render对模板的使用步骤进行了封装。 第三个参数可以省略不写

templates/应用名/index.html(模板文件,需要手动创建,settings.py中配置模板路径):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>模板文件</title>
</head>
<body>
<h1>这是一个模板文件</h1>
使用模板变量:<br/>
{{ title }}<br/>
使用列表:<br/>
{{ list }}<br/>
for循环:<br/>
<ul>
  {% for i in list %}
    <li>{{ i }}</li>
  {% endfor %}
</ul>
</body>
</html>

模板变量使用:{{ 模板变量名 }}

模板代码段:{% 代码段 %}

for循环:

{% for i in list %}
  {% empty %}
    如果遍历的list是空列表,就会显示该内容。
  {% endfor %}

模板文件的加载(查找)顺序:

Python Django框架模板渲染功能示例

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

Python 相关文章推荐
分析Python的Django框架的运行方式及处理流程
Apr 08 Python
django文档学习之applications使用详解
Jan 29 Python
python3.6+django2.0开发一套学员管理系统
Mar 03 Python
python 重定向获取真实url的方法
May 11 Python
浅谈Python中的bs4基础
Oct 21 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
python验证身份证信息实例代码
May 06 Python
Java文件与类动手动脑实例详解
Nov 10 Python
Python阶乘求和的代码详解
Feb 14 Python
Python Tornado核心及相关原理详解
Jun 24 Python
详解Flask前后端分离项目案例
Jul 24 Python
Python word文本自动化操作实现方法解析
Nov 05 Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 #Python
Django框架下静态模板的继承操作示例
Nov 08 #Python
python中自带的三个装饰器的实现
Nov 08 #Python
python反转列表的三种方式解析
Nov 08 #Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 #Python
Python通过递归获取目录下指定文件代码实例
Nov 07 #Python
Django REST framework 单元测试实例解析
Nov 07 #Python
You might like
PHP SOCKET编程详解
2015/05/22 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Python getopt模块处理命令行选项实例
2014/05/13 Python
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
Python3 处理JSON的实例详解
2017/10/29 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
python绘制圆柱体的方法
2018/07/02 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
小学校本培训方案
2014/06/06 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
父亲去世追悼词
2015/06/23 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js