Обновление до Django 3.1.2

#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 and venv/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