class userin(basemodel):
username: str
password: str
email: emailstr
mobile: str = "10086"
address: str = none
full_name: optional[str] = none
class userout(basemodel):
username: str
email: emailstr # 用 emailstr 需要 pip install pydantic[email]
mobile: str = "10086"
address: str = none
full_name: optional[str] = none
users = ,
"user02":
}async def response_model(user: userin):
"""response_model_exclude_unset=true 表示預設值不包含在響應中,僅包含實際給的值,如果實際給的值與預設值相同也會包含在響應中
response_model: 使用哪個返回模型
"""print(user.password) # password不會被返回
# return user
return users["user01"]
"/response_model/attributes",
response_model=userout,
# response_model=union[userin, userout], # 使用兩個模型類的並集
# response_model=list[userout], # 列表裡面的任意乙個響應模型類都可以
response_model_include=["username", "email", "mobile"],
response_model_exclude=["mobile"]
)async def response_model_attributes(user: userin):
"""response_model_include列出需要在返回結果中包含的字段;
response_model_exclude列出需要在返回結果中排除的字段
"""# del user.password # union[userin, userout]後,刪除password屬性也能返回成功
5 Singleton Pattern 單例模式
單例模式主要符合單一職能原則。當乙個類的職責是一定的,而且整個程式中不需要生成第二個此類的物件,而且如果生成第二個此類的物件的話還會有問題 比如我之前寫的聯棋遊戲,裡面的棋盤就應該始終只有乙個物件,如果有兩個會造成混亂 為了防止生成兩個物件,而且節約記憶體,會使用單例模式。使用單例模式的典型場景比如...
5 thinkphp5請求和響應 請求
request物件的作用是與客戶端互動,收集客戶端的form cookies 超連結,或者收集伺服器端的環境變數。request物件是從客戶端向伺服器發出請求,包括使用者提交的資訊以及客戶端的一些資訊。客戶端可通過html表單或在網頁位址後面提供引數的方法提交資料,然後通過request物件的相關方...
ThinkPHP5 響應輸出 03
重定向 可以使用redirect助手函式進行重定向 class index redirect函式和控制器的redirect方法的引數順序有所區別 重定向傳參 如果是站內重定向的話,可以支援url組裝,有兩種方式組裝url,第一種是直接使用完整位址 打頭 redirect index index he...