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实现把回车符\r\n转换成\n
Apr 23 Python
python实现多线程的两种方式
May 22 Python
关于Python面向对象编程的知识点总结
Feb 14 Python
取numpy数组的某几行某几列方法
Apr 03 Python
python将txt文件读入为np.array的方法
Oct 30 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
python中安装django模块的方法
Mar 12 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
tensorflow转换ckpt为savermodel模型的实现
May 25 Python
使用npy转image图像并保存的实例
Jul 01 Python
python等待10秒执行下一命令的方法
Jul 19 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中session定期自动清理的方法
2015/11/12 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
react 组件传值的三种方法
2019/06/03 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
python对XML文件的操作实现代码
2020/03/27 Python
python 连续不等式语法糖实例
2020/04/15 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
python 如何在测试中使用 Mock
2021/03/01 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
美国五金商店:Ace Hardware
2018/03/27 全球购物
装饰活动策划方案
2014/02/11 职场文书
高中教师评语大全
2014/04/25 职场文书
作风建设年活动总结
2014/08/27 职场文书
求职信范文怎么写
2015/03/19 职场文书
食品安全责任书范本
2015/05/09 职场文书
学校证明范文
2015/06/24 职场文书
2016新年年会主持词
2015/07/06 职场文书
运动会通讯稿600字
2015/07/20 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js