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开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
python 遍历字符串(含汉字)实例详解
Apr 04 Python
python自定义异常实例详解
Jul 11 Python
Python 16进制与中文相互转换的实现方法
Jul 09 Python
python实现汉诺塔算法
Mar 01 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
使用python绘制二维图形示例
Nov 22 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
Python调用OpenCV实现图像平滑代码实例
Jun 19 Python
pytorch实现查看当前学习率
Jun 24 Python
Python机器学习三大件之一numpy
May 10 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面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP概率计算函数汇总
2015/09/13 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
flask session组件的使用示例
2018/12/25 Python
Mac安装python3的方法步骤
2019/08/09 Python
python实现单链表的方法示例
2019/09/03 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
冰淇淋店的创业计划书
2014/02/07 职场文书
《穷人》教学反思
2014/04/08 职场文书
小学优秀学生评语
2014/12/29 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
大学教师个人总结
2015/02/10 职场文书
2015年外联部工作总结
2015/04/03 职场文书
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers