TypeError: object() takes no parameters

Django==2.0.1
python==3.5.2

import sys

from django.views.debug import technical_500_response


class ExceptionMiddleware(object): # 此處繼承object
    def process_exception(self, request, exception):
        if request.user.is_superuser:
            return technical_500_response(request, *sys.exc_info())

開啓uwsgi是出現上述錯誤,查閱發現在django==1.11.0中不能獲取request.user的返回值,因爲不返回,所以繼承MiddlewareMixin可以解決此問題.

修改代碼如下:

import sys

from django.utils.deprecation import MiddlewareMixin
from django.views.debug import technical_500_response


class ExceptionMiddleware(MiddlewareMixin): # 此處繼承MiddlewareMixin
    def process_exception(self, request, exception):
        if request.user.is_superuser:
            return technical_500_response(request, *sys.exc_info())
發佈了42 篇原創文章 · 獲贊 28 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章