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计算N天之后日期的方法
Mar 31 Python
Python建立Map写Excel表实例解析
Jan 17 Python
python实现读取大文件并逐行写入另外一个文件
Apr 19 Python
Python 统计字数的思路详解
May 08 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
Python模块、包(Package)概念与用法分析
May 31 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
python 如何上传包到pypi
Dec 24 Python
PyQt5爬取12306车票信息程序的实现
May 14 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中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
2019/08/03 PHP
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
小程序两种滚动公告栏的实现方法
2019/09/17 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
Python的函数的一些高阶特性
2015/04/27 Python
python实现简单socket通信的方法
2016/04/19 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
python随机模块random使用方法详解
2020/02/14 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
实习教师自我鉴定
2013/09/27 职场文书
简历里的自我评价
2014/01/31 职场文书
心理健康课教学反思
2014/02/13 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
同意迁入证明模板
2014/10/26 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python