Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从flask中访问mysql_Python_Mysql_Flask - Fatal编程技术网

Python 从flask中访问mysql

Python 从flask中访问mysql,python,mysql,flask,Python,Mysql,Flask,我注意到,大多数从flask访问mysql的示例都建议使用一个调用init\u app(app)的插件 我只是想知道为什么这与只在代码中的某个地方使用mysql连接器相反 是不是flask在请求生命周期方面做得更好了?使用像flask mysql或flask SQLAlchemy这样的包,他们提供了有用的默认值和额外的帮助,使完成常见CRUD任务变得更容易 所有这些包都擅长处理对象之间的关系。您只需要创建对象,然后对象包含处理数据库所需的所有函数和帮助程序,您不必自己实现这些代码,也不必担心查询

我注意到,大多数从flask访问mysql的示例都建议使用一个调用
init\u app(app)
的插件

我只是想知道为什么这与只在代码中的某个地方使用
mysql连接器
相反


是不是flask在请求生命周期方面做得更好了?

使用像
flask mysql
flask SQLAlchemy
这样的包,他们提供了有用的默认值和额外的帮助,使完成常见CRUD任务变得更容易

所有这些包都擅长处理对象之间的关系。您只需要创建对象,然后对象包含处理数据库所需的所有函数和帮助程序,您不必自己实现这些代码,也不必担心查询的性能

我曾经参与过一个Django项目(我相信Flask中的理论是类似的),它的ORM真的很神奇,我所需要做的就是编写
模型
并封装业务逻辑。所有CRUD命令都由内置ORM处理,作为开发人员,我们不担心SQL语句


另一个好处是它使数据库迁移更加容易。您可以将其从MySQL切换到PostgresSQL,只需对代码进行最小的修改,这将加快开发速度。

如果您通过类似sqlalchemy的ORM抽象数据库访问,则可以使用
init\u app
,最好设置一次。如果使用直接sql查询,则可以将逻辑放在视图中,尽管它不是很枯燥。Flask还提供了一些用于在查看之前和之后打开和关闭数据库连接的方法。如果您想在回答中说明这一点,我将给予您信任!谢谢你的信息!