1)drf給我們提供了多種解析資料報方式的解析類
2)我們可以通過配置,來控制前台提交的哪些格式的資料後台在解析,哪些資料不解析
3)全域性配置就是針對每乙個檢視類,區域性配置就是針對指定的檢視類,讓它們可以按照配置規則選擇性解析資料
# apiview類的dispatch方法中
request = self.initialize_request(request, *args, **kwargs) # 點進去
# 獲取解析類
parsers=self.get_parsers(), # 點進去
# 去類屬性(區域性配置) 或 配置檔案(全域性配置) 拿 parser_classes
return [parser() for parser in self.parser_classes]
自定義全域性配置:settings.py
rest_framework =
自定義區域性配置:應用views.py的具體檢視類
from rest_framework.views import apiview
from rest_framework.response import response
from rest_framework.parsers import jsonparser,formparser,multipartparser
class book(apiview):
# 區域性解析配置
parser_classes = [formparser] # 只解析json資料報
def get(self, request, *args, **kwargs):
...def post(self, request, *args, **kwargs):
# url拼接引數 : 只有一種傳參方式,引數都在query_params
print(request.query_params) # # 資料報引數:有三種傳參方式,
print(request.data) # return response('post ok')
補充:
# 禁用 json 方法傳輸資料報時用json傳輸資料則報一下錯誤
# 禁用 urlencoded 方法傳輸資料報時用urlencoded傳輸資料則報一下錯誤
# 禁用 form-data 方法傳輸資料報時用form-data傳輸資料則報一下錯誤
Python基礎08 模組
在我們開發過程中,往往不會將所有的功能函式集中定義在同乙個檔案中。這樣做即增加了未來維護的成本,也降低了並行開發的效率。通常我們會將不同的功能寫在不同的py檔案中,而這些py檔案就稱為模組。import math 矩形面積 def rectangle x,y return x y 圓形面積 def ...
Python subprocess模組解析
在學習這個模組前,我們先用python的help 函式檢視一下subprocess模組是幹嘛的 description this module allows you to spawn processes,connect to their input output error pipes,and ob...
json解析模組
把json格式的字串轉為python資料型別 html json json.loads res.text 把 python 型別 轉為 json 型別 import json json.dumps 之前 item print before dumps type item json.dumps之後 i...