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} < ...
随机推荐
- BZOJ4898 & BZOJ5367 & 洛谷3778:[APIO2017]商旅——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4898 https://www.lydsy.com/JudgeOnline/problem.php? ...
- HDOJ.1263 水果(map)
水果 点我跳转到题面 点我一起学习STL-MAP 题意分析 给出多组测试数据,每组数据有多条信息.分别是水果种类,地点,和水果数目.每组信息要按照样例输出,并且输出要按照地点->水果种类的字典序 ...
- HDU4738:Caocao's Bridges(求桥)
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 【题解】ZJOI2009 假期的宿舍 网络流 最大流
好久没有来写博客啦,来水一发. 网络流建模首先很容易想到,如果一个人能睡一张床,那么在这个人和这张床之间连接一条容量为1的边从s向每个需要住宿的人连容量为1的边,表示这个人需要住宿从每张床向t连容量为 ...
- C#或ASP.NET绘图初探
C#或ASP.NET的简单绘图 public void ProcessRequest (HttpContext context) { context.Response.ContentType = &q ...
- JQuery学习五
获取样式attr("myclass")移除样式removeClass("myclass")增加样式addClass("myclass")to ...
- HDU 4529 状压dp
郑厂长系列故事——N骑士问题 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- C# 把类实例保存到文件里(类的序列化和反序列化)
有时候我们希望把类的实例保存下来,以便以后的时候用.一个直观的方法就是StreamWriter把类写成一行,用\t分隔开每个属性,然后用StreamReader读出来. 但是这样太麻烦,代码行数较多, ...
- frame外弹出,刷新父页面
//刷新父页面 function reflashParent() { var id = parent.tabbar.getActiveTab(); id = id.replace('tab','mai ...
- java发送邮件(一)
一:前言 一直想做有关java发邮件的功能,但是了一直没有成功,特别的无语啊,所以今天有时间我终于成功了啊,虽然是最简单的,但是还是记载下来吧! 二:内容 这里主要需要的是spring-context ...