在Django中开启/关闭数据库连接

1 投票
1 回答
2220 浏览
提问于 2025-04-15 23:39

我正在使用Django和Postgresql作为我的数据库管理系统。

我想设置一个选项,可以开启或关闭数据库连接。当在settings.py文件中把连接设置为关闭时,网站会显示一条消息,比如“维护模式”之类的。Django不会显示任何数据库连接错误的信息(也不会把这些错误邮件给管理员)。如果Django根本不尝试连接数据库,那就更好了。

1 个回答

3

也许创建一个中间件可以解决你的问题。把你新建的中间件“maintenancemiddleware”放在你设置中的middleware列表的最前面。

# code not tested, only for demonstration.
# maintenancemiddleware.py
from django.conf.settings import MAINTENANCE

class MaintenanceMiddleware(object):
    def process_request(self, request):
        if MAINTENANCE:
           # redirect to a static url (like /media/maintenancemode.html)

更多信息:http://docs.djangoproject.com/en/1.2/topics/http/middleware/#topics-http-middleware

撰写回答