Django продолжает регистрировать меня на dev-сервере при изменении моей кодовой базы

В моем приложении Django много if request.user.is_authenticated логики, и как только я изменяю какой-либо код, кроме шаблонов (например, формы, модели, представления и т.д.), я выхожу из системы на сервере разработки, что делает довольно раздражающим постоянный повторный вход во фронтенд, чтобы снова проверить предыдущие изменения кода.

Есть ли способ оставаться вошедшим в систему (суперпользователем) в режиме Debug = True (или другом)?

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = os.getenv("DEBUG", "False") == "True"

# Add s.th. here to keep me logged in?

Проблема заключается в следующем:

SECRET_KEY = os.getenv("DJANGO_SECRET_KEY", get_random_secret_key())

При каждом перезапуске сервера генерируется новый секретный ключ. Данные аутентификации хранятся в таблице django_sessions, а данные сессии хэшируются с помощью SECRET_KEY. Таким образом, каждый раз, когда значение SECRET_KEY изменяется, данные текущей сессии становятся недействительными, и вам нужно заново войти в систему.

Решение: Сгенерируйте случайный секретный ключ вручную один раз и сохраните его как переменную окружения в каждом окружении (будь то staging, production или development).

Надеемся, что вы найдете это полезным.

Вернуться на верх