request和response
response類
三種基本序列化字段方式
from rest_framework import serializers
from goods.models import goodsinfo
# 定義一些序列號程式
class
goodsinfoserializer
(serializers.modelserializer)
:# 建立序列化器
class
meta
:# 定義元類
# model指明了當前的序列化器和哪個模型產生聯絡
model = goodsinfo
fields =
'__all__'
# 意思是所有的字段都要
# 這樣寫是自己選擇需要的字段
# fields = ('url', 'username', 'email', 'groups')
class
goodsinfoser
(serializers.modelserializer)
:class
meta
:#model指明了當前的序列化器產生聯絡
model = goodsmodel
#下面所有欄位都以模型為對應
#fields指明的是需要那些字段
fields =
'__all__'
#所需要的字段
fields =
('id'
,'name'
,'pub_date'
,'readcount'
)#不需要的字段
exclude =
('is_delete',)
#唯讀 read_only_field =
()
指定巢狀序列化
用於有外來鍵的資料庫,設定depth為整數,通常為1
from user.models import userinfo
from rest_framework import serializers
class
userautoserializers
(serializers.modelserializer)
:class
meta
: model = userinfo
fields =
'__all__'
depth =
1
用shell除錯結果為:
>>
>
from user.serializers import
*>>
> ser = userautoserializers(
)>>
> ser
userautoserializers():
id= integerfield(label=
'id'
, read_only=
true
) name = charfield(max_length=20)
password = charfield(max_length=
20, required=
false
) phone = charfield(max_length=11)
addkey = nestedserializer(read_only=
true):
id= integerfield(label=
'id'
, read_only=
true
) add = charfield(max_length=50)
>>
>
指定字段序列化(覆蓋)
class
accountserializer
(serializers.modelserializer)
: url = serializers.charfield(source=
'get_absolute_url'
, read_only=
true
) groups = serializers.primarykeyrelatedfield(many=
true
)class
meta
: model = account
想要指定readonly欄位還有第二個meta選項,read_only_fields.:
read_only_fields =
('account_name'
,)
還有乙個快捷方式,允許您在字段上指定任意附加關鍵字引數,使用extra_kwargs選擇。如在.的情況下read_only_fields,這意味著不需要顯式宣告序列化程式上的字段。
class
meta
: model = user
fields =
('email'
,'username'
,'password'
) extra_kwargs =
}
就是httprequest的擴充套件功能
request.data返回請求主體的解析內容(可以解析各種型別請求包括post等)。這與標準類似。request.post和request.files屬性除外:
它包括所有已解析的內容,包括檔案和非檔案投入。
它支援解析除http之外的http方法的內容post,這意味著您可以訪問put和patch請求。
它支援rest框架靈活的請求解析,而不僅僅是支援表單資料。例如,您可以處理傳入表單資料的方式處理傳入的json資料。
.query_params:
相當於request.get,但是任何http方法型別都可能包含查詢引數,而不僅僅是get請求
資料型別可以是str,list,dict等
):data:為響應準備的序列化之後的資料,status是狀態碼,template_name模板的名稱
headers:響應頭資訊,content_type:一般不需要指定,框架根據前端傳遞的資訊來指定
php CI框架入門
顯示2.控制器認識 controller是框架控制器資料夾 我們來寫一下自己的控制器,控制器檔名要和類名一直,類名首字母大寫 test.php檔案 defined basepath or exit no direct script access allowed class test extends ...
SSH框架入門
目前最新版本是spring framework 2.5.6 with dependencies.zip,該包不僅包含spring的開發包,而且包含spring編譯和執行所依賴的第三方類庫 aspectj 該路徑下包含了spring支援aspectj所需類的源 也包含了相關測試用例檔案 dist 該資...
Tigo框架入門
給大家介紹乙個go語言的web framework,tigo框架。tigo框架的設計風格有點類似於tornado,從python轉go的小夥伴可以看看。首先,安裝 go get github.com karldoenitz tigo 安裝結束後來編寫乙個簡單地hello world,如下 url路由...