浅谈django的render函数的参数问题


Posted in Python onOctober 16, 2018

hello.html 文件代码如下:

HelloWorld/templates/hello.html 文件代码:
<h1>{{ hello }}</h1>

HelloWorld/HelloWorld/view.py 文件代码:

# -*- coding: utf-8 -*-
 
#from django.http import HttpResponse
from django.shortcuts import render
 
def hello(request):
 context   = {}
 context['hello'] = 'Hello World!'
 return render(request, 'hello.html', context)

ontext 字典中元素的键值 "hello" 对应了模板中的变量 "{{ hello }}"。

一旦你创建一个 Template 对象,你可以用 context 来传递数据给它。 一个context 是一系列变量和它们值的集合。

context 在 Django 里表现为 Context 类,在 django.template 模块里。它的构造函数带有一个可选的参数: 一个字典映射变量和它们的值。 调用 Template 对象 的 render() 方法并传递 context 来填充模板:

>>> from django.template import Context, Template

>>> t = Template('My name is {{ name }}.')

>>> c = Context({'name': 'nowamagic'})

>>> t.render(c)

u'My name is nowamagic.'

我们必须指出的一点是,t.render(c) 返回的值是一个 Unicode 对象,不是普通的 Python 字符串。 你可以通过字符串前的 u 来区分。 在框架中,Django 会一直使用 Unicode 对象而不是普通的字符串。 如果你明白这样做给你带来了多大便利的话,尽可能地感激 Django 在幕后有条不紊地为你所做这这么多工作吧。 如果不明白你从中获益了什么,别担心。你只需要知道 Django 对 Unicode 的支持,将让你的应用程序轻松地处理各式各样的字符集,而不仅仅是基本的A-Z英文字符。

from django.shortcuts import render

help文档中描述如下:

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

Returns a HttpResponse whose content is filled with the result of calling django.template.loader.render_to_string() with the passed arguments.

此方法的作用---结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象。

通俗的讲就是把context的内容, 加载进templates中定义的文件, 并通过浏览器渲染呈现.

参数讲解:

request: 是一个固定参数, 没什么好讲的。

template_name: templates 中定义的文件, 要注意路径名. 比如'templates\polls\index.html', 参数就要写‘polls\index.html'

context: 要传入文件中用于渲染呈现的数据, 默认是字典格式

content_type: 生成的文档要使用的MIME 类型。默认为DEFAULT_CONTENT_TYPE 设置的值。

status: http的响应代码,默认是200.

using: 用于加载模板使用的模板引擎的名称。

以上这篇浅谈django的render函数的参数问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python命令行参数sys.argv使用示例
Jan 28 Python
Python连接mysql数据库的正确姿势
Feb 03 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
Python实现基本数据结构中队列的操作方法示例
Dec 04 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
Python高级用法总结
May 26 Python
python自动发送邮件脚本
Jun 20 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
Python爬取12306车次信息代码详解
Aug 12 Python
python 实现Harris角点检测算法
Dec 11 Python
Python实现老照片修复之上色小技巧
Oct 16 Python
django之跨表查询及添加记录的示例代码
Oct 16 #Python
python看某个模块的版本方法
Oct 16 #Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 #Python
详解Django的model查询操作与查询性能优化
Oct 16 #Python
python查看模块,对象的函数方法
Oct 16 #Python
Python中asyncio与aiohttp入门教程
Oct 16 #Python
python查看模块安装位置的方法
Oct 16 #Python
You might like
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
python脚本实现查找webshell的方法
2014/07/31 Python
Python ftp上传文件
2016/02/13 Python
python中常用的九种预处理方法分享
2016/09/11 Python
python使用str &amp; repr转换字符串
2016/10/13 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
Python Collatz序列实现过程解析
2019/10/12 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
Python PyQt5整理介绍
2020/04/01 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
大学生职业生涯规划书范文
2014/01/04 职场文书
开学典礼策划方案
2014/05/28 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
超市督导岗位职责
2015/04/10 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android