浅谈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中的socket模块使用代理实例
May 29 Python
win7上python2.7连接mysql数据库的方法
Jan 14 Python
python学生信息管理系统
Mar 13 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
May 29 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
Python常见内置高效率函数用法示例
Jul 31 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
django富文本编辑器的实现示例
Apr 10 Python
Python基础知识点 初识Python.md
May 14 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
Python入门之使用pandas分析excel数据
May 12 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
javascript比较文档位置
2008/04/08 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
python使用post提交数据到远程url的方法
2015/04/29 Python
python基础教程之Filter使用方法
2017/01/17 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
Python Flask-web表单使用详解
2017/11/18 Python
浅谈python可视化包Bokeh
2018/02/07 Python
Python入门必须知道的11个知识点
2018/03/21 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
在双python下设置python3为默认的方法
2018/10/31 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
渗透攻击的测试步骤
2014/06/07 面试题
企业车辆管理制度
2014/01/24 职场文书
上课打牌的检讨书
2014/02/15 职场文书
财务主管岗位职责
2014/02/28 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python