详解Django中 render() 函数的使用方法


Posted in Python onApril 22, 2021

render() 函数

在讲 render() 函数之前,我们在 Django 项目 index 文件夹的 urls.py 和 views.py 中编写如下功能代码:(不难,望读者细心阅之)

# index的 urls.py
from django.urls import path
form . import views

urlpatterns = [
    # 定义首页的路由
    path(' ', views.index, name='index'),
]
# index的views.py
from django.http import HttpResponse
def index(request):
    html = '<h1> Hello World </h1>'
    return HttpResponse(html, status=200)

视图函数 index 使用响应类 HttpResponse 实现响应过程。从 HttpResponse 的参数可知,第一个参数是响应内容,一般是网页内容或 JSON 数据,网页内容是以HTML语言为主的,JSON数据用于生成API接口数据。第二个参数用于设置HTTP状态码,它支持HTTP所有的状态码。

从源码角度分析,打开响应类 HttpResponse 的源码文件,发现 Django内置的响应类(本人在上篇文章中已讲过)都是在 HttpResponse 的基础上实现的,只不过它们的HTTP状态码有所不同,如图下所示。

详解Django中 render() 函数的使用方法

从 HttpResponse 的使用过程可知,如果要生成网页内容,就需要将 HTML 语言以 字符串的形式表示,如果网页内容过大,就会增加视图函数的代码量,同时也没有体现模板的作用,因此Django在此基础上进行了封装处理,定义了函数 render 和 redirect。
render()语法如下:

render(request, template_name, context=None, content_type=None, status=None, using=None)

render 的参数 request 和 template name 是必需参数,其余的参数是可选参数。各个参数说明如下。

  • request:浏览器向服务器发送的请求对象,包含用户信息、请求内容和请求方式等。
  • template_name:设重模板文件名,用于生成网页内容。
  • context:对模板上下文(模板变量)赋值,以字典格式表示,默认情况下是一个空字典。
  • content_type:响应内容的数据格式,一般情况下使用默认值即可。
  • status:HTTP状态码,默认为200。
  • using:设置模板引擎,用于解析模板文件,生成网页内容。

为了更好地说明 render 的使用方法,我们通过简单的例子来加以说明。在Django项目的index文件中的 views.py 和 templates 的 index.html 中编写以下代码:

# index的 views.py
from django.shortcuts import render
def index(request):
    value = {'title': 'Hello Django'}
    return render(request, 'index.html', context=value)
# templates 的 index.html
<!DOCTYPE html>
<html>
  <body>
    <h3> {{ title }} </h3>
  </body>
</html>

视图函数 index 定义的变量 value 作为 render 的参数 context,而模板 index.html 里通过使用模板上下文(模板变量){{ title }} 来获取变量 value 的数据,上下文的命名必须与变量 value 的数据命名(字典的key)相同,这样 Django 内置的模板引擎才能将参数context(变量value)的数据与模板上下文进行配对,从而将参数 context 的数据转换成网页内容。运行Django项目,在浏览器上访问127.0.0.1:8000即可看到网页信息,如图下所示。

详解Django中 render() 函数的使用方法

希望以上内容能够帮助到各位!

到此这篇关于Django中 render() 函数的使用方法的文章就介绍到这了,更多相关Django中 render() 函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python获取目录下所有文件的方法
Jun 01 Python
Python中定时任务框架APScheduler的快速入门指南
Jul 06 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
python 使用opencv 把视频分割成图片示例
Dec 12 Python
解决Python使用列表副本的问题
Dec 19 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
Apr 19 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
Python Matplotlib绘制两个Y轴图像
Apr 13 Python
python tkinter实现定时关机
Python爬虫之爬取某文库文档数据
Apr 21 #Python
Python数据分析之pandas函数详解
Apr 21 #Python
python基础之停用词过滤详解
Apr 21 #Python
python 模拟在天空中放风筝的示例代码
如何使用Python对NetCDF数据做空间相关分析
python实现简单倒计时功能
You might like
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
Python运行的17个时新手常见错误小结
2012/08/07 Python
对于Python中线程问题的简单讲解
2015/04/03 Python
Python3计算三角形的面积代码
2017/12/18 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
孝老爱亲模范事迹
2014/01/24 职场文书
汽车促销活动方案
2014/03/31 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
就职演讲稿范文
2014/05/19 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
在校证明模板
2015/06/17 职场文书
政审证明材料
2015/06/19 职场文书
环保建议书作文500字
2015/09/14 职场文书
企业团队精神心得体会
2016/01/19 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书