我目前在一个Django项目中工作,为此我需要访问管理区域进行本地开发,但希望在部署的站点中禁用它(出于安全等原因).

我如何以编程方式实现这一点(ie使用settings.py).

非常感谢.

推荐答案

首先,建立一个方案,这样生产服务器可以有不同于开发服务器的设置.一种简单的方法是使用忽略本地_设置的源代码管理.py文件,但有很多更奇特的方法.

然后,在settings.py文件中放入:

ADMIN_ENABLED = True

在仅限生产的设置文件中,输入:

ADMIN_ENABLED = False

然后在urls.py中:

if settings.ADMIN_ENABLED:
    urlpatterns += patterns('',
        (r'^admin/(.*)', include(admin.site.urls)),
        # ..maybe other stuff you want to be dev-only, etc...
        )

Django相关问答推荐

查尔而不是瓦尔查尔加盟Django 球场

如何从Django';S模型中的方法中检索值?

通过在其他查询中使用来过滤对象

如何使更新记录在 Django 模型中传递信号?

通过get_form_kwargs将请求传递给Django表单未能使表单访问self.request.user.

如何在 Fargate 容器中运行的 Django 中使用 AWS SES?

如何使用邮箱确认码创建django注册

Django:获取每组最新的N条记录

Django 过滤器:过滤隐藏在多层模型 struct 中的对象

为什么 django 不能相互识别 2 个路径转换器?

所有子元素的Django自递归外键过滤器查询

如果上下文中缺少变量,如何使 Django 模板引发错误

如何在 django 中处理这种竞争条件?

Django中的单表继承

在 Django 网站上找不到页面 404?

可以在 Django 抽象模型中使用多重继承吗?

OrderingFilter 没有属性filter_queryset

django 表单为关键字参数获取了多个值

django 我们可以在预取相关模型上 Select 一个字段吗?

防止 django 管理员转义 html