最短時間攻透最完善的Python框架——Django⑧

Django響應詳講

1.響應

視圖在接收請求並處理後,必須返回HttpResponse對象或子對象,HttpRequest對象由Django創建,HttpResponse對象由開發人員創建。

2.簡述HttpResponse

可以使用django.http.HttpResponse來構造響應對象。

HttpResponse(content=’響應體‘, content_type=’響應體數據類型‘, status=狀態碼)

也可通過HttpResponse對象屬性來設置響應體、狀態碼:

  • content:表示返回的內容。
  • status_code:返回的HTTP響應狀態碼。
    response[‘sixstar’] = ‘Python’ 自定義響應頭sixstar, 值爲Python
response = HttpResponse()
response['sixstar'] = 'Python'  # 自定義響應頭sixstar, 值爲Python

示例:

from django.http import HttpResponse
def demo_view(request):
    return HttpResponse('sixstar python', status=400)
    #或者
    response = HttpResponse('sixstar python')
    response.status_code = 400
    response['sixstar'] = 'Python'
    return response

在這裏插入圖片描述
你是否有很多疑問?有就對了,繼續往下看吧

3.HttpResponse子類

Django提供了一系列HttpResponse的子類,可以快速設置狀態碼,如下列出常見的,僅供參考

  • HttpResponseRedirect 301
  • HttpResponsePermanentRedirect 302
  • HttpResponseNotModified 304
  • HttpResponseBadRequest 400
  • HttpResponseNotFound 404
  • HttpResponseForbidden 403
  • HttpResponseNotAllowed 405
  • HttpResponseGone 410
  • HttpResponseServerError 500

4.JsonResponse類

若要返回json數據,可以使用JsonResponse來構造響應對象

  • 幫助我們將數據轉換爲json字符串
  • 設置響應頭Content-Typeapplication/json
from django.http import JsonResponse
def demo_view(request):
    return JsonResponse({'city': 'beijing', 'subject': 'python'})

5.redirect重定向

from django.shortcuts import redirect
def demo_view(request):
    return redirect('/index.html')

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6CP4s7aZ-1590547696942)(最短時間攻透最完善的Python框架——Django⑧.assets/image-20200527104537197.png)]

  • 路徑配置
url(r'^response_redirect/$',views.response_redirect),

每一篇博客都是用心之作,參考了很多同類文章結合創作,希望表達的簡潔易概,如果有錯誤希望大家評論區指正,我們一起探討學習,共同進步,請允許我小皮一下。
在這裏插入圖片描述
@Author:HaoXuan

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章