如何测试Django的数据库连接?例如,确保数据库的用户名和密码正确无误。
或者如果它更容易,当数据库连接失败时,我在哪里“捕获”数据库错误?
我有一个场景,用户在表单中定义数据库连接参数。我需要确保用户名/密码正确,数据库必须成功连接才能继续。
我似乎无法在任何地方找到任何文档,因为大多数文章都假设数据库连接始终是成功的。
提前致谢。
答案 0 :(得分:4)
写一个middleware ("How Django processes a request"),它将检查数据库连接并重定向到您的编辑表单。
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'以提高性能。