gpt4 book ai didi

django - 在子域上提供 Django 管理站点

转载 作者:行者123 更新时间:2023-12-02 03:20:09 25 4
gpt4 key购买 nike

我有一个运行 Django、uWSGI 和 Nginx 的项目。目前,我使用默认的 Django 管理站点,位于 example.com/admin。我想更改此设置,以便管理站点仅在 admin.example.com 上可用。

最好的方法是什么?

我曾考虑过启动一个全新的 Django 项目,在 admin.example.com 上提供服务,但数据库设置与运行 example.com 的项目相同,但我希望有更优雅的东西,因为这将涉及在项目之间复制大量设置和应用程序。基本上,两者之间的唯一区别是,一种安装了管理站点和 URL 模式,另一种则没有。

(我这样做的原因是最终想要使用类似 google auth proxy 的东西来保护管理站点,但让非管理员登录通过正常的身份验证后端。看起来我可以通过指定 Django 使用 HTTP Basic 来做到这一点对 admin.example.com 进行身份验证,但坚持使用 example.com 的默认后端。)

最佳答案

只需创建一个新的设置文件,其中包含原始设置并定义特殊的 ROOT_URLCONF 设置。现在,您只需在该管理子域上使用 DJANGO_SETTINGS_MODULE 部署您的应用即可。

例如:

settings_admin.py

from settings import *
ROOT_URLCONF = 'urls_admin'

urls_admin.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
url(r'', include(admin.site.urls)),
)

关于django - 在子域上提供 Django 管理站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26004217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com