Django по умолчанию регистрирует пользователя в журнале
У меня есть учетная запись Django, где есть только один пользователь для всего приложения. Я также не устанавливал администратора для этого приложения.
Проблема в том, что когда я впервые запускаю свой контейнер docker для приложения Django и ввожу свой домен, я уже вошел в систему. Даже если я открываю это в частном окне или в другом браузере (Firefox; обычно я использую Chrome), проблема все равно остается.
Это скрипт для создания пользователя:
from django.contrib.auth.models import User
import os
# Create user and save to the database
if User.objects.exists():
print("user already exists")
else:
username = os.environ.get("USER_USERNAME")
email = os.environ.get("USER_EMAIL")
password = os.environ.get("USER_PASSWORD")
if not username or not email or not password:
print("user information not supplied. please check your .env that USER_USERNAME, USER_EMAIL, USER_PASSWORD are all set.")
User.objects.create_user(username, email, password)
print("created user")
Вызывается из docker-compose.yml
следующим образом:
services:
web:
build: .
command: >
bash -c "mkdir -p static
&& python manage.py collectstatic --no-input
&& python manage.py migrate
&& python manage.py shell < init/create_user.py
&& $$RUN_SERVER_COMMAND"
Почему это происходит? Есть ли настройка, чтобы отключить "вход в систему по умолчанию"?
Я понял, что это произошло потому, что я возвращаю один и тот же макет верхней страницы для вошедших и вышедших пользователей. В обоих случаях я показывал "нажмите здесь, чтобы войти".