Я использую Django 2.1, и мой проект готов к производству. Есть ли способ, которым я могу установить параметры. Отладка == Истина только для суперпользователя и показать 500 внутренних ошибок сервера по умолчанию для обычных пользователей. Я пытался написать промежуточное программное обеспечение, но, похоже, не работает. Я не хочу использовать часового (как рекомендуется во многих местах).
мой middlewares.py:
import sys
from django.views.debug import technical_500_response
from django.conf import settings
from django.contrib.auth import get_user_model
user = get_user_model() #I am using CustomUser model not Django user model
class UserBasedExceptionMiddleware(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
return self.get_response(request)
def process_exception(self, request, exception):
if request.user.is_superuser:
return technical_500_response(request, *sys.exc_info())
Я также загрузил свое промежуточное ПО.
MIDDLEWARE = ['myproject.middlewares.UserBasedExceptionMiddleware',]