#django
Вопрос:
Я обновил версии python и django. устранены все конфликты, но не удалось выяснить причину этой ошибки.
старый -> python 3.5, django 1.8 обновлен ->> python 3.9 django 3.2 Есть идеи, для чего эта ошибка?
Исключение в потоке Джанго-основной резьбы: обратная трассировка (самый недавний призыв последнего): файл «/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py», строка 950, в _bootstrap_inner самостоятельно.выполнить() файл «/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py», линия 888, в ведении самоуправления._target(*самовывозом._args, **самостоятельно._kwargs) файл «/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/utils/autoreload.py», строка 64, в обертке ФН(*параметр args, **kwargs) файл «/пользователи/м.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/management/commands/runserver.py», строка 138, в обработчике inner_run = self.get_handler(*аргументы, **параметры) Файл «/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/contrib/staticfiles/management/commands/runserver.py», строка 27, в обработчике get_handler = super().get_handler(*аргументы, **параметры) Файл «/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/management/commands/runserver.py», строка 65, в get_handler возвращает файл get_internal_wsgi_application () «/Пользователи/м.сусмита/код/venv3_9_0/Либ/питон3.9/site-packages/django/core/servers/basehttp.py», строка 45, в get_internal_wsgi_application вернуться import_string(app_path) файл «/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/utils/module_loading.py», строка 17, в import_string модуль = import_module(module_path) файл «/библиотека/фреймворки/питон.рамки/версии/3.9/Либ/питон3.9/importlib/init в.py», строка 127, в файле import_module возвращает _bootstrap._gcd_import(имя[уровень:], пакет, уровень)»», строка 1030, в файле _gcd_import «», строка 1007, в файле _find_and_load «», строка 986, в файле _find_and_load_unlocked «», строка 680, в файле _load_unlocked «», строка 790, в файле exec_module «», строка 228, в файле _call_with_frames_removed «/Users/m.susmita/code/seldon-hercules/sp-hercules/opdashboard/wsgi.py», строка 29, в файле application = get_wsgi_application () «/Пользователи/м. сусмита/код/venv3_9_0/lib/python3.9/пакеты сайтов/django/ядро/wsgi.py», строка 13, в файле get_wsgi_application возвращает WSGIHandler () «/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/handlers/wsgi.py», строка 127, в файле init self.load_middleware () «/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/handlers/base.py», строка 58, в файле load_middleware mw_instance = промежуточное ПО(adapted_handler) Ошибка типа: init() принимает 1 позиционный аргумент, но было дано 2
settings.py
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
MIDDLEWARE = (
'log_request_id.middleware.RequestIDMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'op_common.request_context.RequestContextMiddleware',
# 'cas.middleware.CASMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
Комментарии:
1. Покажите свою
MIDDLEWARE
настройку вsettings.py
2. Добавлены дополнительные сведения о settings.py
3. У вас, кажется, есть 2 пользовательских промежуточных программного обеспечения?
log_request_id.middleware.RequestIDMiddleware
иop_common.request_context.RequestContextMiddleware
? Можете ли вы показать их код? Обратите внимание, что промежуточные программы работают немного иначе, чем Django 1.10 и далее, чем они работали до этого, см. docs.djangoproject.com/en/3.2/topics/http/middleware/…4. Спасибо Абдулу за ваше быстрое предложение, но это не должно быть проблемой. Если я удалю один из них, то все равно получу ту же ошибку.
5. «Удалите один из них» ну, проблема не в том, что их два, проблема в том, что они, скорее всего, являются промежуточным программным обеспечением в старом стиле, попробуйте удалить оба, и вы увидите, что, по крайней мере, эта ошибка исчезнет (может возникнуть какая-то другая).