5:django 常用函数
用django写view函数的时候,我们常常用到django.shortcuts里面的很多常用函数,
这节我们来看看这些函数的具体用法吧
render
render(request, template_name[, dictionary][, context_instance][, content_type][, status][, current_app])
render是渲染的意思,渲染一个页面以返回请求,返回的是一个HttpResponse对象
- from django.shortcuts import render
- def my_view(request):
- # View code here...
- return render(request, 'myapp/index.html', {"foo": "bar"},
- content_type="application/xhtml+xml")
必选参数:
request,用来产生请求的对象,必选
template_name,模板全名或者模板名称序列,必选
可选参数:
dictionary,一个包含模板能使用的参数值的字典
context_instance,渲染模板使用的上下文对象,默认是一个RequestContext对象
content_type,指定返回的模板的类型
status,状态码,默认200
current_app,默认的应用名称
是不是有点繁琐了,有点吧,于是乎,render_to_response产生了
render_to_response
- render_to_response(template_name[, dictionary][, context_instance][, mimetype])
用给定的上下文对象渲染一个给定的模板然后返回一个HttpResponse对象
- from django.shortcuts import render_to_response
- def my_view(request):
- # View code here...
- return render_to_response('myapp/index.html', {"foo": "bar"},context_instance=RequestContext(request),
- mimetype="application/xhtml+xml")
参数可选性和render一样,注意的是可选参数context_instance,
当使用上下文处理器的时候,使用RequestContext代替默认的context_instance,如上示例
redirect
- redirect(to, [permanent=False, ]*args, **kwargs)
- 返回一个HttpResponseRedirect对象
- 参数可能是:
- 1个模型
- 1个view函数的名字
- 1个url
- #如果是模型,那么会调用该模型的get_absolute_url()方法来得到url
- def my_view(request):
- ...
- object = MyModel.objects.get(...)
- return redirect(object)
- #如果是一个view名字,则会调用reverse()方法来得到url
- def my_view(request):
- ...
- return redirect('some-view-name', foo='bar')
- #或者一个硬编码的url
- def my_view(request):
- ...
- return redirect('/some/url/')
- #或者一个完整的url
- def my_view(request):
- ...
- return redirect('http://example.com/')
默认redirect返回的是一个临时的重定向,如果需要返回一个永久的重定向,请把permanent参数设为True
get_object_or_404
- get_object_or_404(klass, *args, **kwargs)
- 获得一个对象或者返回404错误而不是返回DoesNotExist异常
必选参数:klass要求传进来的是一个可以检索到对象的Model,Manager或者Queryset
可选参数:要求是可以被get或者filter接受的查找参数
- from django.shortcuts import get_object_or_404
- def my_view(request):
- my_object = get_object_or_404(MyModel, pk=1)
get_list_or_404
- get_list_or_404(klass, *args, **kwargs)
给定一个model manager,返回filter的结果,如果结果为空,返回一个Http404的错误
参数要求和get_object_or_404一样
- from django.shortcuts import get_list_or_404
- def my_view(request):
- my_objects = get_list_or_404(MyModel, published=True)
p
5:django 常用函数的更多相关文章
- 荣誉墙项目day28 django常用函数
1.在网页上渲染字符串from django.http import HttpResponsereturn HttpResponse(u"hello world") 2.渲染网页f ...
- 【技术博客】MySQL和Django常用操作
MySQL和Django是搭建网站常用的配置之一,在此记录一下在Windows系统搭建网站时MySQL以及Django常用的操作. MySQL MySQL的SQL语句不区分大小写,推荐将保留字大写,数 ...
- 30款Django 常用的软件包
30款Django 常用的软件包 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了30款Django开发中常用的软件包,学会使用它们可以节省大量开发时 ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- [转]SQL 常用函数及示例
原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...
- PHP常用函数、数组方法
常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...
- Oracle常用函数
前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...
- Thinkcmf:页面常用函数
Thinkcmf:页面常用函数 全站seo: 文章列表: {$site_seo_title} <!--SEO标题--> {$site_seo_keywords} < ...
随机推荐
- 洛谷 P4175 [CTSC2008]网络管理 解题报告
P4175 [CTSC2008]网络管理 题目描述 带修改树上链的第\(k\)大 输入输出格式 输入格式: 第一行为两个整数\(N\)和\(Q\),分别表示路由器总数和询问的总数. 第二行有\(N\) ...
- 弱校的ACM奋斗史
这是一篇老文章,不过由于无法找到最初的发文地址,这里就不能粘贴原文网址了.本站转载此文与ACMer们共勉.感谢acmerfight供稿. 题解:还记得2年前的一个晚上,我和一个女孩一起写完了这篇文章. ...
- python获取当前工作目录
py文件所在位置/test/pj/hello.py 用户所在位置:/ 用户执行命令python /test/pj/hello.py 1. os.getcwd() 返回的是执行命令的位置 / 2.sys ...
- Python通过PhantomJS获取JS渲染后的网页源代码
新建一个文件,命名为test.js,内容如下: var page = require('webpage').create(), system = require('system'), address; ...
- dubbo在项目中的应用
关于dubbo的使用,我们举个简单例子: 存在2个系统,A系统和B系统,A系统调用B系统的接口获取数据,用于查询用户列表. 在上一篇博文介绍了dubbo的创建,zookeeper的创建完成后,我们可以 ...
- JQuery源码实现
技术提高篇--- 推荐--- 动脑学院--- http://www.toutiao.com/a6368703139592569089/
- nginx 静态服务器设置
一.配置Nginx [root@VM_16_15_centos nginx]# cd conf.d/ [root@VM_16_15_centos conf.d]# ll total 4 -rwxr-x ...
- 网页导出excel文件
response.setContentType("application/vnd.ms-excel"); response.setHeader("content-disp ...
- jquery动画切换引擎插件 Velocity.js 学习01
一.Velocity.js介绍 Velocity是一个jQuery插件,重新实现了$.animate() 来产生更高的性能(速度也比CSS动画库更快),而包括新的功能,以提高动画工作流程. Veloc ...
- Java 中 给静态方法 添加泛型 (static <T>)
今天在用到static方法的时候.想要用泛型.结果不能通过编译. 上网查了一下.其具体写法如下: