首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python检查数据库是否可用

Python检查数据库是否可用
EN

Stack Overflow用户
提问于 2022-03-08 17:55:16
回答 1查看 282关注 0票数 1

在呈现模板之前,我要检查正在使用的数据库是否可用。数据库只有特定的IP才可用,因此,如果有人试图访问页面,我不想出错,而是重定向到不同的模板,而不需要数据库。

错误信息:

代码语言:javascript
复制
(2003, "Can't connect to MySQL server on 'db-test' (110)")
(Background on this error at: https://sqlalche.me/e/14/e3q8)

错误本身没有问题,我只想检查数据库是否是可访问的,而不需要等到加载页面时出现错误。

storage.py:

代码语言:javascript
复制
from flask_sqlalchemy import SQLAlchemy

db_req = SQLAlchemy()


class Requests(db_req.Model):
    __tablename__ = 'requests'
    id = db_req.Column(db_req.Integer, primary_key=True, nullable=False)
    created = db_req.Column(db_req.DateTime, nullable=False)
    name = db_req.Column(db_req.String, nullable=False)

app.py:

代码语言:javascript
复制
from flask import Flask
from models import db_req
from views.requests import requests

app = Flask(__name__)
app.register_blueprint(requests)
app.config.from_object("config.Config")
db_req.init_app(app)

if __name__ == '__main__':
    app.run(debug=True)

requests.py:

代码语言:javascript
复制
from flask import Blueprint, render_template, request
from query_request_db import get_fields

requests = Blueprint("requests", __name__)


@requests.route("/", methods=["GET", "POST"])
def requests_page():
    # need to check before everything if I can access database not to error out
  return render_template("requests_page.html", names=get_fields.get_field_data("name"))

我试图找到一种方法来检查数据库是否可用,而不出错。欢迎任何帮助!

EN

回答 1

Stack Overflow用户

发布于 2022-03-08 19:54:54

希望我能理解你对吧?你想检查你网页查看者的ip地址。

那么你就可以用

代码语言:javascript
复制
request.remote_addr

要验证可以访问数据库的IP Adress,只需执行重定向即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71399510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档