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, но этому вопросу уже более двух лет, и я подумал, что с тех пор могли произойти изменения, поскольку у меня другая ошибка.

  1. Are the management commands still not fully supported?
  2. 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?
Вернуться на верх