AttributeError: объект 'WindowsPath' не имеет атрибута 'endswith' при использовании команды runmodwsgi Django
Windows 10, Python 3.8.10, Apache 2.4.51, Django 3.2.8, mod_wsgi 4.9.0
Когда я пытаюсь запустить сервер Apache, используя python manage.py runmodwsgi
, я получаю следующее сообщение:
Successfully ran command.
Server URL : http://localhost:8000/
Server Root : C:/Users/Me/AppData/Local/Temp/mod_wsgi-localhost-8000-Me
Server Conf : C:/Users/Me/AppData/Local/Temp/mod_wsgi-localhost-8000-Me/httpd.conf
Error Log File : C:/Users/Me/AppData/Local/Temp/mod_wsgi-localhost-8000-Me/error_log (warn)
Operating Mode : daemon
Request Capacity : 5 (1 process * 5 threads)
Request Timeout : 60 (seconds)
Startup Timeout : 15 (seconds)
Queue Backlog : 100 (connections)
Queue Timeout : 45 (seconds)
Server Capacity : 20 (event/worker), 20 (prefork)
Server Backlog : 500 (connections)
Locale Setting : en_US.cp1252
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "E:\Documents\Work Stuff\Active Work Files\Code\venv\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_line
utility.execute()
File "E:\Documents\Work Stuff\Active Work Files\Code\venv\lib\site-packages\django\core\management\__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "E:\Documents\Work Stuff\Active Work Files\Code\venv\lib\site-packages\django\core\management\base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "E:\Documents\Work Stuff\Active Work Files\Code\venv\lib\site-packages\django\core\management\base.py", line 398, in execute
output = self.handle(*args, **options)
File "E:\Documents\Work Stuff\Active Work Files\Code\venv\lib\site-packages\mod_wsgi\server\management\commands\runmodwsgi.py", line 134, in handle
options = mod_wsgi.server._cmd_setup_server(
File "E:\Documents\Work Stuff\Active Work Files\Code\venv\lib\site-packages\mod_wsgi\server\__init__.py", line 3613, in _cmd_setup_server
generate_apache_config(options)
File "E:\Documents\Work Stuff\Active Work Files\Code\venv\lib\site-packages\mod_wsgi\server\__init__.py", line 1086, in generate_apache_config
if target.endswith('/') and path != '/':
AttributeError: 'WindowsPath' object has no attribute 'endswith'
Я также использую виртуальную среду Python (venv). Я могу прекрасно запускать сервер через httpd.exe Apache, но я хотел бы иметь возможность использовать команду manage.py, если это возможно.
Я изучил этот вопрос (AttributeError: 'WindowsPath' object has no attribute 'endswith') и уже использую формат BASE_DIR
в моем settings.py, и у меня уже есть STATIC_URL
и STATIC_ROOT
set:
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / "static"
Я проверил похожий вопрос здесь (https://github.com/GrahamDumpleton/mod_wsgi/issues/466), где говорилось, что команды управления Django в mod_wsgi не поддерживаются на Windows, но этому вопросу уже более двух лет, и я подумал, что с тех пор могли произойти изменения, поскольку у меня другая ошибка.
- Are the management commands still not fully supported?
- If they are supported, what do I need to do to fix this issue, or is this still an error on the package's side?