2
我的大多數ModelViewSet都有overriden創建方法(需要在創建對象時執行其他操作)。Django rest框架定製裝飾器覆蓋post方法
class MyModelViewSet(serializers.ModelSerializer):
def create(self, *args, **kwargs):
# some code
return Response(
serializer.data,
status=status.HTTP_201_CREATED,
headers=headers
)
而且我也想定義那些裝飾功能創建方法,例如像這樣:
def post_shower(func):
@wraps(func)
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
print result
return result
return wrapper
基本上我需要響應狀態,頭,新的對象數據。當我運行這段代碼,我得到
ContentNotRenderedError: The response content must be rendered before it can be accessed.
關於如何讓裝飾的數據
print result
有什麼建議? 謝謝
也許你可以給出更多的細節,哪些片段實際上會拋出錯誤,第一或第二。在任何情況下,如果你的視圖返回一個'TemplateResponse',你應該手動調用'render()'來訪問它的內容,因爲它不會自動調用[請參閱手動調用基於類的通用視圖](http://stackoverflow.com /問題/ 7258912 /手動主叫一類基於泛型視圖) –