django shortcut function
render()
render(request, template_name, context=None, content_type=None, status=None, using=None)
必须参数
request:视图接受到的request
template_name:模板名称
可选参数
context:上下文变量
content_type:响应的MIME类型, 默认为DEFAULT_CONTENT_TYPE设置的值
status:响应的状态,默认为200
using:用于加载模板的模板引擎
render_to_response()
弃用,不需要request参数的render()
render_to_response(template_name, context=None, content_type=None, status=None, using=None)
redirect()
redirect(to, permanent=False, *args, **kwargs)
将HttpResponseRedirect返回给传递的参数的适当URL。
参数可能是
- a Model,模型的get_absolute_url()方法将被调用
- a view name,可能带有参数:reverse()将用于反向解析名称。
- 绝对URL和相对URL
默认情况下发出临时重定向;传递permanent=True发出永久重定向。
Examples
(1). a Model example
from django.shortcuts import redirect
def my_view(request):
...
obj = MyModel.objects.get(...)
return redirect(obj)
(2). a view name example
通过传递视图的名称和一些位置或关键字参数(可选);URL将使用reverse()方法反向解析
def my_view(request):
...
return redirect('some-view-name', foo='bar')
(3). An absolute or relative URL example
通过传递一个硬编码URL重定向到
def my_view(request):
...
return redirect('/some/url/')
# 也可以写成全路径
def my_view(request):
...
return redirect('https://example.com/')
get_object_or_404()
调用get()方法 当没有查找到对象时抛出http404异常
from django.shortcuts import get_object_or_404
product = get_object_or_404(Product, pk=1)
相当与以下代码
from django.http import Http404
try:
product = Product.objects.get(pk=1)
except MyModel.DoesNotExist:
raise Http404
get_object_or_404(klass, *args, **kwargs)
参数:
klass:用于获取对象的Model,Manage,Queryset实例
**kwargs:用于get()和filter()查询的条件参数
接收Queryset参数
queryset = Book.objects.filter(title__startswith='M')
get_object_or_404(queryset, pk=1)
# 上边的例子有点复杂,其实相当于以下代码
get_object_or_404(Book, title__startswith='M', pk=1)
接收自定义Managers
get_object_or_404(Book.dahl_objects, title='Matilda')
接收related Managers
author = Author.objects.get(name='Roald Dahl')
get_object_or_404(author.book_set, title='Matilda')
get_list_or_404()
from django.shortcuts import get_list_or_404
def my_view(request):
my_objects = get_list_or_404(MyModel, published=True)
相当于以下代码
from django.http import Http404
def my_view(request):
my_objects = list(MyModel.objects.filter(published=True))
if not my_objects:
raise Http404("No MyModel matches the given query.")
django shortcut function的更多相关文章
- Django views 中的 shortcut function
shortcut function都在django.shortcuts这个包中,主要包含有:render(), render_to_response(), redirect(), get_object ...
- Request对象和Response对象 JsonResponse对象 和 Django shortcut functions 和QueryDict对象
request request属性 属性: django将请求报文中的请求行.头部信息.内容主体封装成 HttpRequest 类中的属性. 除了特殊说明的之外,其他均为只读的. ''' 0.Http ...
- django view function
view function 的几种返回值 return HttpResponse(html) return HttpResponseNotFound(html) raise Http404(" ...
- Django shortcut functions
django.shortcuts package提供提供帮助类和函数可以更便捷的操作MVC中的每一部分,包含: render(request, template_name,[dictionary],[ ...
- 03 Django之视图函数
一.Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python函数(类),它接受WEB请求并返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...
- Django框架详细介绍---视图系统
Django视图系统 1.什么是视图 在Django中,一个视图函数/类,称为视图.实质就是一个用户自定义的简单函数,用来接收WEB请求并xing响应请求,响应的内容可以是一个HTML文件.重定向.一 ...
- Django基础三之视图函数
一 Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错 ...
- Django全面讲解(2/2)
前戏 Django是Python语言编写的一个全栈式Web框架(其他的还有Tornado,Flask),可帮助我们快速编写一个具有数据库功能,增删改查.后台管理等功能的网站,若不考虑很高的执行速度,去 ...
- Django模板语言与视图(view)
常用语法 {{ }}和{% %} 变量相关的用{{}} , 逻辑相关的用{% %} 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后 ...
随机推荐
- malloc()与calloc区别 (转)
另外说明: 1.分配内存空间函数malloc 调用形式: (类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为"size" 字节的连续区域.函数的 ...
- ARP跨网段广播
如果源主机和目的主机不在同一网段,ARP请求的广播帧无法穿过路由器,源主机如何与目标主机实现通信? 补充一下问题,避免因问题不完整而出现误解. ---------------------------- ...
- PHP - 引用计数
引用计数以及是否是引用变量,一个神奇的函数,查看当前引用计数: <?php xdebug_debug_zval('a'); 以上例程会输出: a: (refcount=1, is_ref=0)= ...
- Java中异常体系
Java中的异常体系 Throwable,是一个类,表示可抛出的,它是所有的异常都继承的类. Throwable的子类,又分为两种,一种是Error,另一种是Exception. Error一般不是应 ...
- MySQL内置功能之事务、函数和流程控制
主要内容: 一.事务 二.函数 三.流程控制 1️⃣ 事务 一.何谓事务? 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. # ...
- JavaScript怎么让字符串和JSON相互转化
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象 var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
- cdoj915-方老师的分身 II (长度不小于k的最短路)【spfa】
http://acm.uestc.edu.cn/#/problem/show/915 方老师的分身 II Time Limit: 10000/5000MS (Java/Others) Memo ...
- unity3d 事件说明
Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结. Awake ...
- APP安全之代码混淆防止反编译查看真实的头文件函数声明
现在有的公司对自己的爱屁屁(APP)安全上有重视,所以本篇讲一下代码混淆,即使别人反编译出来,也看不出来头文件的信息. 上菜: 1.首先安装class-dump,下载地址:http://steveny ...
- Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson
Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson等等 本人fastJson用了两年,也是从去年才开始接触Gson,希望下面的总结会对博友有用,至于Gso ...