-
django把爬取的圖片url放入到imageField字段中,通過序列化返回該字段數(shù)據(jù)會默認帶上訪問該接口的url友驮,導致圖片不顯示,其實是序列化器幫你添加的
問題圖
def get_serializer_context(self):
return {
'request': self.request,
'format': self.format_kwarg,
'view': self
}
- 該方法是GenericAPIView類中的方法初嘹,繼承它的類都會出現(xiàn)(ListAPIView鸟款,RetrieveAPIView...等等),返回imageFiled字段會前綴本機域名,在類中重寫一下該方法就Ok了.
# 去掉self.request可以讓圖片沒有本地域名的前綴
def get_serializer_context(self):
"""
Extra context provided to the serializer class.
"""
return {
'format': self.format_kwarg,
'view': self
}
解決后效果圖
- OK灌具,顯示正常,帶域名的結(jié)果是在view中對模型類序列化的,DRF在序列化圖片的時候 會檢查上下文有沒有request譬巫,如果有咖楣,就給圖片加上域名