浅谈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字符串排序方法
Aug 29 Python
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
Python验证企业工商注册码
Oct 25 Python
Python中的数学运算操作符使用进阶
Jun 20 Python
插入排序_Python与PHP的实现版(推荐)
May 11 Python
Python 迭代器与生成器实例详解
May 18 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
我就是这样学习Python中的列表
Jun 02 Python
python tkinter窗口最大化的实现
Jul 15 Python
python nohup 实现远程运行不宕机操作
Apr 16 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
Python使用lambda抛出异常实现方法解析
Aug 20 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
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
JavaScript XML操作 封装类
2009/07/01 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
python实现泊松图像融合
2018/07/26 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
python的json包位置及用法总结
2020/06/21 Python
Python 字符串池化的前提
2020/07/03 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
几个常见的消息中间件(MOM)
2014/01/08 面试题
党员教师批评与自我批评发言稿
2014/10/15 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
领导视察通讯稿
2015/07/18 职场文书
python lambda 表达式形式分析
2022/04/03 Python