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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
Python如何获取系统iops示例代码
Sep 06 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
django-allauth入门学习和使用详解
Jul 03 Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 Python
Python drop方法删除列之inplace参数实例
Jun 27 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 Python
详解用Python把PDF转为Word方法总结
Apr 27 Python
分享提高 Python 代码的可读性的技巧
Mar 03 Python
详解Python内置模块Collections
Mar 22 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代码
2008/09/10 PHP
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
PHP的5个安全措施小结
2012/07/17 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
python解析json实例方法
2013/11/19 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
市场营销职业生涯规划书范文
2014/01/12 职场文书
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
化工工艺设计求职信
2014/06/25 职场文书
过程装备与控制工程专业求职信
2014/07/02 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
银行转正自我鉴定
2014/09/29 职场文书
环卫处个人工作总结
2015/03/04 职场文书
通知格式
2015/04/27 职场文书
单身证明范本
2015/06/15 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技