【问题标题】:Django Admin Site -- view path "admin/" at "/"Django Admin Site -- 在“/”处查看路径“admin/”
【发布时间】:2021-02-25 07:02:24
【问题描述】:

我正在开发一个使用Admin Site的 Django (3.1) 应用程序。

默认行为是使用以下路径为管理站点提供服务:

http://localhost:8080/admin/

假设您在http://localhost:8080/other_site 有其他网站

因为我唯一的站点是管理站点,所以我想为管理站点提供服务:

http://localhost:8080/

没有admin/

这是文件website/urls.py(网站文件夹包含所有设置/配置)

from django.contrib import admin
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('management/', include('management.urls')),
    path('admin/', admin.site.urls),
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这里是文件management/urls.py(管理是包含所有模型的应用程序)

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

我该怎么做?


我已尝试更新 website/urls.py 以包含此内容

#path('management/', include('management.urls')),
path('/', admin.site.urls),

我认为这会禁用management 端点(确实如此),但它没有将主路径指向管理站点。

【问题讨论】:

    标签: python python-3.x django django-admin


    【解决方案1】:

    如果要更改网址,只需删除admin/

    from django.contrib import admin
    from django.urls import include, path
    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
        path('management/', include('management.urls')),
        path('', admin.site.urls), # here is a change
        ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    

    【讨论】:

    • 啊,非常好,谢谢。我用“/”试过了,但没用。
    • 是的,django 对此非常准时,但是当您查看 management/urls.py 内部时,您会看到,您还使用了 path('', views.index) 而不是将 / 放在引号内
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 2018-09-08
    • 2013-12-16
    • 2018-12-17
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多