Django视图之视图函数

下面来讲说常见的视图函数:django

HttpResponse()函数

Http404()this

HttpResponseNotFound()url

上面三个函数功能比较简单,用得少,就很少说了!spa

 

render()code

render(request, template_name, context=None, content_type=None, status=None, using=None)[source]
将模板和字典联系起来,最终返回一个HttpResponse对象。
必须参数
request
用来生成response的request对象。
template_name
模板名称。
可选参数:
context
传递值给模板的字典。
content_type
MIME标签,默认使用settings中的DEFAULT_CONTENT_TYPE
status
状态码,默认200.
using
模板引擎的名称。
render_to_response()
render_to_response(template_name, context=None, content_type=None, status=None, using=None)[source]
将来该函数可能被放弃,不作多介绍!
redict()
redirect(to, permanent=False, *args, **kwargs)[source]
返回一个HttpResponseRedirect对象。
参数to能够能的值:
默认使用临时重定向,permanent=True为永久重定向。
# 模型,默认该模型的 get_absolute_url()函数会被调用
from django.shortcuts import redirect

def my_view(request):
    ...
    object = MyModel.objects.get(...)
    return redirect(object)

# reverse()方法
def my_view(request):
    ...
    return redirect('some-view-name', foo='bar')

# URL
def my_view(request):
    ...
    return redirect('/some/url/')
def my_view(request):
    ...
    return redirect('https://example.com/')

 

get_object_or_404()对象

get_object_or_404(klass, *args, **kwargs)[source]
对模型类或者模型manager调用get(),可是返回Http404()而不是模型不存在。
必需参数:
klass
模型,模型的manager或者QuerySet实例。
*args
查询参数,用来传递给get() and filter()
def my_view(request):
    my_object = get_object_or_404(MyModel, pk=1)
相关文章
相关标签/搜索