如何将服务器数据库与Flask连接?

时间:2020-06-11 23:03:07

标签: python mysql database web flask

因此,我一直在使用PHP和MySQL数据库,PHPMyAdmin和XAMPP创建网站。我正在尝试从PHP切换到python。所有的教程似乎都在使用SQLite而不是MYSQL。据我了解,sqlite是无服务器的,不能保存某些数据类型,例如datetime,但是我的网站需要datetime。我将如何通过python Flask项目连接到MySQL,或者有其他方法需要执行此操作?

2 个答案:

答案 0 :(得分:0)

您需要使用客户端库(例如PyMySQL)

要安装pymysql,请使用:

pip install PyMySQL

然后使用此函数,它将返回数据库对象:

def make_connection():
            try:
               db = pymysql.connect(host='localhost',
                             user='root',
                             password='',
                             db='DatabaseName',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)
            except Exception as error:
                print(error)
            return db

答案 1 :(得分:0)

正如@ tirth-mehta提到的那样,如果要在没有任何ORM的情况下使用connect,则应使用客户端库。如果您不忘在每个函数调用中关闭连接而感到非常痛苦,则可以使用 decorator ,如下所示:

DB_CONFIG = {'host':'127.0.0.1',
             'database':'dbname',
             'user':'root',
             'password':''}

def connect(func):
    def _connect(*args, **kwargs):
        conn = pymysql.connect(**DB_CONFIG)

        try:
            rv = func(conn, *args, **kwargs)
        except Exception as e:
            print(e)
        else:
            conn.commit()
        finally:
            conn.close()
        return rv
    return _connect