08 解析模組

2022-05-24 20:03:16 字數 1324 閱讀 2066

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...