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使用minidom读写xml的方法
Jun 03 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
python树莓派红外反射传感器
Jan 21 Python
Python3.5基础之NumPy模块的使用图文与实例详解
Apr 24 Python
django框架面向对象ORM模型继承用法实例分析
Jul 29 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
Mar 03 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
Django restful framework生成API文档过程详解
Nov 12 Python
python反编译教程之2048小游戏实例
Mar 03 Python
基于python的matplotlib制作双Y轴图
Apr 20 Python
Python 可迭代对象 iterable的具体使用
Aug 07 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实现mysql数据库操作类分享
2014/02/14 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
jQuery实现html可联动的百分比进度条
2020/03/26 jQuery
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python通过正则表达式选取callback的方法
2015/07/18 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python 文件查找及内容匹配方法
2018/10/25 Python
Python高斯消除矩阵
2019/01/02 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
JAVA程序员自荐书
2014/01/30 职场文书
保护环境倡议书
2014/04/14 职场文书
校园环保标语
2014/06/13 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android