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 相关文章推荐
wxPython框架类和面板类的使用实例
Sep 28 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
python查看FTP是否能连接成功的方法
Jul 30 Python
python自动翻译实现方法
May 28 Python
Python爬虫小技巧之伪造随机的User-Agent
Sep 13 Python
使用Python获取并处理IP的类型及格式方法
Nov 01 Python
Python最小二乘法矩阵
Jan 02 Python
Python3中列表list合并的四种方法
Apr 19 Python
python获取Pandas列名的几种方法
Aug 07 Python
使用python动态生成波形曲线的实现
Dec 04 Python
pytorch动态网络以及权重共享实例
Jan 06 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
《与孩子一起学编程》python自测题
2018/05/27 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
会计职业生涯规划范文
2014/01/04 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
党性教育心得体会
2014/09/03 职场文书
出纳试用期自我评价
2015/03/10 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
python中mongodb包操作数据库
2022/04/19 Python
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS