
## HttpResponse對象
Django服務器接收到客戶端發送過來的請求后,會將提交上來的這些數據封裝成一個HttpRequest對象傳給視圖函數。那么視圖函數在處理完相關的邏輯后,也需要返回一個響應給瀏覽器。而這個響應,我們必須返回HttpResponseBase或者他的子類的對象。而HttpResponse則是HttpResponseBase用得最多的子類
### 常用屬性
1.content:返回的內容。
```
response = HttpResponse()
response.content = "首頁"
return response
```
2.status_code:返回的HTTP響應狀態碼。
3.content_type:返回的數據的MIME類型,默認為text/html。瀏覽器會根據這個屬性,來顯示數據。如果是text/html,那么就會解析這個字符串,如果text/plain,那么就會顯示一個純文本。常用的Content-Type如下:
```
text/html(默認的,html文件)
text/plain(純文本)
text/css(css文件)
text/javascript(js文件)
multipart/form-data(文件提交)
application/json(json傳輸)
application/xml(xml文件)
```
4.設置請求頭:
`response['X-Access-Token'] = 'xxxx'。`
### 常用方法
```
1.set_cookie:用來設置cookie信息。
2.delete_cookie:用來刪除cookie信息。
3.write:HttpResponse是一個類似于文件的對象,可以用來寫入數據到數據體(content)中。
```
## JsonResponse類
用來對象dump成json字符串,然后返回將json字符串封裝成Response對象返回給瀏覽器。并且他的Content-Type是application/json。
```
from django.http import JsonResponse
def index(request):
return JsonResponse({"username":"juran","age":18})
```
默認情況下JsonResponse只能對字典進行dump,如果想要對非字典的數據進行dump,那么需要給JsonResponse傳遞一個safe=False參數。
```
from django.http import JsonResponse
def index(request):
persons = ['張三','李四','王五']
return JsonResponse(persons)
```
以上代碼會報錯,應該在使用HttpResponse的時候,傳入一個safe=False參數
```
return JsonResponse(persons,safe=False,json_dumps_params={'ensure_ascii':False})
```
- 空白目錄
- 1-Django前導知識
- 1-1-虛擬環境
- 1-2-Django框架介紹與環境搭建
- 2-URL與視圖
- 2-1-URL與視圖
- 3-模板
- 3-1-模板介紹
- 3-2-模板變量
- 3-3-常用標簽
- 3-4-模板常用過濾器
- 3-5-模板結構優化
- 3-6-加載靜態文件
- 4-數據庫
- 4-1-操作數據庫
- 4-2-圖書管理系統
- 4-3-ORM模型介紹
- 4-4-ORM模型的增刪改查
- 4-5-模型常用屬性
- 4-6-外鍵和表
- 4-7-查詢操作
- 4-8-QuerySet的方法
- 4-9-ORM模型練習
- 4-10-ORM模型遷移
- 5-視圖高級
- 1-Django限制請求method
- 2-頁面重定向
- 3-HttpRequest對象
- 4-HttpResponse對象
- 5-類視圖
- 6-錯誤處理
- 6-表單
- 1-用表單驗證數據
- 2-ModelForm
- 3-文件上傳
- 7-session和cookie
- 1-session和cookie
- 8-memcached
- 1-memcached
- 9-阿里云部署
- 阿里云部署