用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 常用函数的更多相关文章

  1. 荣誉墙项目day28 django常用函数

    1.在网页上渲染字符串from django.http import HttpResponsereturn HttpResponse(u"hello world") 2.渲染网页f ...

  2. 【技术博客】MySQL和Django常用操作

    MySQL和Django是搭建网站常用的配置之一,在此记录一下在Windows系统搭建网站时MySQL以及Django常用的操作. MySQL MySQL的SQL语句不区分大小写,推荐将保留字大写,数 ...

  3. 30款Django 常用的软件包

    30款Django 常用的软件包 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了30款Django开发中常用的软件包,学会使用它们可以节省大量开发时 ...

  4. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  5. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  6. [转]SQL 常用函数及示例

    原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...

  7. PHP常用函数、数组方法

    常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...

  8. Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...

  9. Thinkcmf:页面常用函数

    Thinkcmf:页面常用函数 全站seo: 文章列表: {$site_seo_title}        <!--SEO标题--> {$site_seo_keywords}   < ...

随机推荐

  1. Kindle 电子书相关的工具软件【转】

    这里是与 Kindle 电子书相关的工具软件.它们可以帮助我们解决在日常使用电子书时所可能遇到的问题,比如 kindle 管理工具.kindle 转换工具.kindle电子书制作工具.kindle 推 ...

  2. 【BZOJ 3811】玛里苟斯 大力观察+期望概率dp+线性基

    大力观察:I.从输出精准位数的约束来观察,一定会有猫腻,然后仔细想一想,就会发现输出的时候小数点后面不是.5就是没有 II.从最后答案小于2^63可以看出当k大于等于3的时候就可以直接搜索了 期望概率 ...

  3. Nginx配置解析

    #运行用户,默认即是nginx,可不设置 #user nobody; #nginx进程,一般设置为和cpu核数一样 worker_processes 1; #;单个后台worker process进程 ...

  4. 什么是static?什么是final?

    由static修饰的变量.常量.和方法被称为是静态变量.常量和 方法. 静态数据和静态方法的作用通常是为了提供共享数据或方法,如数学计算公式等,以static声明并且实现,这样当需要使用时,直接使用类 ...

  5. HDU 2655 主席树

    Kth number Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. stout代码分析之五:UUID类

    UUID全称通用唯一识别码,被广泛应用于分布式系统中,让所有的元素具有唯一的标识. stout中UUID类继承自boost::uuids::uuid.api如下: random, 产生一个UUID对象 ...

  7. sub-G 无线芯片基础知识

    1.典型无线收发机编码 2.前导码的作用是使接收机的时钟和发射机同步(有待验证),如果接收机工作在WOR模式,前导码还有唤醒接收机的功能(接收一定数量的前导码),此时发射机必须发送较长的前导码才能把接 ...

  8. 清除windows系统垃圾文件简易脚本(bat)

    @echo off      echo 正在清除系统垃圾文件,请稍等......      del /f /s /q %systemdrive%\*.tmp      del /f /s /q %sy ...

  9. Ubuntu修改系统语言为英文可支持中文

    简单来说,就行修改/etc/default/locale文件,设置语言位UTF-8,如果没有这个语言,就执行命令locale-gen en_US.UTF-8进行安装,没有即时生效的话就重启. 查看当前 ...

  10. linux查看文件相关指令

    以下内容整理自以下两篇文章: http://www.cnblogs.com/xilifeng/archive/2012/10/13/2722596.html Linux 查看文件内容的命令 http: ...