#python #python-3.x #django
#python #python-3.x #django
Вопрос:
Только что обновлен с версии Django 3.0.3 до 3.1.2. При попытке запустить сервер мне теперь предоставляется следующее:
Traceback (most recent call last):
File "./manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/core/management/base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 61, in execute
super().execute(*args, **options)
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/core/management/base.py", line 371, in execute
output = self.handle(*args, **options)
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 68, in handle
if not settings.DEBUG and not settings.ALLOWED_HOSTS:
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 83, in __getattr__
self._setup(name)
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 70, in _setup
self._wrapped = Settings(settings_module)
File "/Users/turbz/work/z/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 200, in __init__
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: PASSWORD_RESET_TIMEOUT_DAYS/PASSWORD_RESET_TIMEOUT are mutually exclusive.
У меня нет ни одного из этих вышеупомянутых параметров, установленных в моем собственном settings.py
, поскольку они исходят от venv/lib/python3.8/site-packages/django/conf/global_settings.py
. Так что я не понимаю, откуда это взялось. Установка одного из них вручную теперь также не приводит к исчезновению ошибки. Я не переопределил его сам в соответствии с https://imagizer.imageshack.com/img922/2962/ht9zvG.png
amp; https://imagizer.imageshack.com/img923/2198/zfk5xo.png
Есть идеи?
Ответ №1:
Я нашел проблему. Я импортировал
from django.conf.global_settings import *
settings.py
по какой-то глупой причине.
Ответ №2:
У меня нет ни одного из этих вышеупомянутых параметров, установленных в моем собственном settings.py , поскольку они исходят из venv/lib/python3.8/site-packages/django/conf/global_settings.py .
Вы неправильно диагностировали проблему. Код, который выдает это исключение, проверяет, не переопределили ли вы явно оба параметра по умолчанию, определенные в global_settings.py
.
Код (который находится в django.conf.Settings.__init__
методе) выглядит следующим образом:
if self.is_overridden('PASSWORD_RESET_TIMEOUT_DAYS'):
if self.is_overridden('PASSWORD_RESET_TIMEOUT'):
raise ImproperlyConfigured(
'PASSWORD_RESET_TIMEOUT_DAYS/PASSWORD_RESET_TIMEOUT are '
'mutually exclusive.'
)
Я подозреваю, что ваши конфигурации каким-то образом переопределяют эти параметры где-то в другом месте.
Комментарии:
1. Но в том-то и дело. У меня нет. Я никогда нигде не устанавливал этот параметр. Их можно найти в
venv/lib/python3.8/site-packages/django/contrib/auth/tokens.py
andvenv/lib/python3.8/site-packages/django/conf/global_settings.py
и ofc вvenv/lib/python3.8/site-packages/django/conf/__init__.py
EDIT: stubs также устанавливает егоvenv/lib/python3.8/site-packages/django-stubs/conf/global_settings.pyi
2.для получения дополнительной информации: imagizer.imageshack.com/img922/2962/ht9zvG.png / imagizer.imageshack.com/img923/2198/zfk5xo.png