Сделать интерфейс администратора доступным при использовании uwsgi

Я добавил uwsgi для обслуживания приложения Django. но я хотел иметь доступ к админке Django. но я, кажется, сделал так, что все адреса на localhost:8000 всегда указывают на один и тот же файл index.html. Я новичок во всей этой истории с WSGI и настройкой для производства.

Что я сделал неправильно и как я могу заставить интерфейс администратора правильно маршрутизироваться и отображаться? Буду признателен за любую помощь. Спасибо.

wsgi app

application(
    {
        "REQUEST_METHOD": "GET",
        "SERVER_NAME": SimpleLazyObject(get_allowed_host_lazy),
        "REMOTE_ADDR": "127.0.0.1",
        "SERVER_PORT": 80,
        "PATH_INFO": "/admin/",
        "wsgi.input": b"",
        "wsgi.multiprocess": True,
    },
    lambda x, y: None,
)

urls.py

urlpatterns += static("/media/", document_root=settings.MEDIA_ROOT) + [
        url(r"^static/(?P<path>.*)$", serve),
        url(r"^", views.homepage, name="homepage"),
        url(r"^admin/", admin.site.urls),
    ]

views.py

def homepage(request):
    application_url = os.environ.get("APPLICATION_URL", "")
    dashboard_url = os.environ.get("DASHBOARD_URL", "")
    admin_url = os.environ.get("ADMIN_URL", "")
    return TemplateResponse(
        request,
        "home/index.html",
        {"application_url": application_url, "dashboard_url": dashboard_url, "admin_url": admin_url},
    )

uwsgi.ini

[uwsgi]
die-on-term = true
enable-threads = true
http = :$(PORT)
module = project.wsgi:application
static-map = /static=/app/static
master = true
processes = 4
ignore-sigpipe = true
ignore-write-errors = true
disable-write-exception=true
Вернуться на верх