如何测试Django中的数据库连接?
我该如何测试Django的数据库连接呢?比如说,确认一下数据库的用户名和密码是否正确。
或者,如果这样更简单的话,我应该在哪里“捕捉”数据库连接失败时的错误呢?
我有一个场景,用户在表单中填写数据库连接参数。我需要确保用户名和密码是正确的,并且数据库能够成功连接,然后才能继续后面的操作。
我好像找不到相关的文档,因为大多数文章都假设数据库连接总是成功的。
提前谢谢你们。
1 个回答
4
写一个中间件(可以参考“Django是如何处理请求的”),这个中间件要检查数据库连接是否正常,然后把用户引导到编辑表单。
class DbCheckMiddleware(object):
def process_request(self, request):
try:
"Some DB Code"
success = True
except:
success = False
request.db_connection_successful = success
为了提高性能,缓存一下'db_connection_successful'的状态。