Django Включенный URLconf '_mod_wsgi_...', похоже, не содержит никаких шаблонов

Я новичок в Python и пытаюсь запустить приложение Django hello world на Windows. Верхнее сообщение об ошибке появляется при следующем коде:

import os
import sys
import site
from django.core.wsgi import get_wsgi_application
from django.conf import settings
from django.urls import path
from django.http import HttpResponse

site.addsitedir("C:/Program files/python312/Lib/site-packages")

sys.path.append('C:/Users/felhasznalo/Desktop/django')
sys.path.append('C:/Users/felhasznalo/Desktop/django/todo')

settings.ROOT_URLCONF=__name__
settings.ALLOWED_HOSTS = ['localhost', '127.0.0.1']
settings.SECRET_KEY = '1234'

def hello(request):
    return HttpResponse("Hello World!")

urlpatterns = [
    path("", hello)
]

 
application = get_wsgi_application()

Я проверил кучу похожих вопросов, но ни один из ответов, похоже, не исправляет это. Есть идеи, что делать или как это отладить? У меня есть переменная urlpatterns, hello - функция, "" - правильный путь, и все же, похоже, она не находит переменную... :S :S :S Интересно, почему она использует глобальные переменные вместо передачи аргументов. Не похоже, что фреймворк хорошо продуман...

Решением является settings.ROOT_URLCONF = 'urls' и перемещение urlpatterns в отдельный urls.py модуль.

В проекте Django должен быть файл wsgi.py, который является точкой входа для WSGI-совместимых веб-серверов для обслуживания вашего проекта.

Настройте Apache с помощью mod_wsgi, отредактировав файлы конфигурации Apache (обычно httpd.conf или специальный файл конфигурации сайта).

Для urlpatterns их следует определить в urls.py файле внутри вашего Django-приложения, а не непосредственно в конфигурации WSGI.

wsgi.py

import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')

application = get_wsgi_application()

Apache Cpnfiguration:

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Вернуться на верх