用于激活/停用管理站点的 Django 管理命令



我想知道是否可以使用自定义管理命令">激活">"停用">管理站点,我所说的停用是指在主urls.py文件中注释包含admin.site.urls路径的行。 或者如果有更好的方法可以做到这一点。

我认为最好的方法 - 编写自定义中间件。 您可以检测当前请求是否是对管理站点的请求(例如request.path.startswith('/admin')(,如果禁用管理页面,则返回 404 错误。

您想何时停用管理员 URL?例如,如果要停用用于生产的管理站点 URL,则可以添加一个控件来 urls.py 签入 if 设置。调试为假。

urlpatterns = [
...
]
if not settings.DEBUG:
urlpatterns += [
path('basic-admin/', basic_site.urls)
]

最新更新