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实现批量下载文件
May 17 Python
python中私有函数调用方法解密
Apr 29 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
python数据结构之链表的实例讲解
Jul 25 Python
对python中的xlsxwriter库简单分析
May 04 Python
python 实现UTC时间加减的方法
Dec 31 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 Python
Python爬虫动态ip代理防止被封的方法
Jul 07 Python
python实现两张图片拼接为一张图片并保存
Jul 16 Python
python分割一个文本为多个文本的方法
Jul 22 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python实现自定义读写分离代码实例
Nov 16 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获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
小谈php正则提取图片地址
2014/03/27 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
Python读取网页内容的方法
2015/07/30 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
python实现人机猜拳小游戏
2020/02/03 Python
深入浅析python的第三方库pandas
2020/02/13 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
Python通过len函数返回对象长度
2020/10/22 Python
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
公司活动策划方案
2014/01/13 职场文书
大学生个人自荐信
2014/02/24 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
讲文明倡议书
2015/04/29 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
婚庆司仪开场白
2015/05/29 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
《惊弓之鸟》教学反思
2016/02/20 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
Golang 链表的学习和使用
2022/04/19 Golang