下面來講說常見的視圖函數:django
HttpResponse()函數
Http404()this
HttpResponseNotFound()url
上面三個函數功能比較簡單,用得少,就很少說了!spa
render()code
render
(request, template_name, context=None, content_type=None, status=None, using=None)[source]¶
DEFAULT_CONTENT_TYPE
。
render_to_response
(template_name, context=None, content_type=None, status=None, using=None)[source]¶
redirect
(to, permanent=False, *args, **kwargs)[source]¶
HttpResponseRedirect
對象。
get_absolute_url() 函數。
reverse()
。# 模型,默認該模型的 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]¶
get(),可是返回Http404()而不是模型不存在。
get()
and filter()
def my_view(request):
my_object = get_object_or_404(MyModel, pk=1)