在python3下怎样用flask-sqlalchemy对mysql数据库 *** 作

在python3下怎样用flask-sqlalchemy对mysql数据库 *** 作,第1张

这个问题经常难道新手一下,因为大部分教程里(包括经典的《Flask Web开发》一书),告诉了我们如何使用flask-sqlalchemy *** 作sqlite,但在生产环境(线上网站)上,我们肯定是使用MySQL或其他,而大部分的教程里,又告诉我们flask-sqlalchemy使

推荐Flask Web Development这本书,循序渐进每一小节都有git tag,很方便看代码。
不要太关注细节,如你提到的wsgi,先整体,后细节,而疑惑就需要自己进入源码找答案了。
要深入学习还是需要看源码,了解flask的原理。比如context,request, session的原理;如何增加模板filter,如何注入方法;flask_sqlalchemy的db session也是构建在context上,具体原理;flask_cache的细节,memoize如何通过类方法清空实例方法的cache;jinja2的filterpy中的filter是否熟悉,bccache是否对你有用,深入了解模板原理。
当遇到阻塞请求,如调用外部api时,如何提高系统吞吐量;用flask如何实现长连接(Comet)。。。(借助gevent,想明白后你就会发现其实tornado最有优势的优点其实不过如此)
其实单纯的一个框架是有限的,难点在于如何和其它组件更好更高效的工作。

你需要了解的大概是以下东西
前端 尝试flask_bootstrap 结合jinja2 模版等
jinja访问flask的变量简直不要更容易,只需要在路由的return之中将你想传递给前端的变量当作参数就行
数据库我用的是sqlite3 因为觉得很轻,所以对数据库 *** 作没用flask的插件 直接简单粗暴的用conn cursor之类云云python自带的 *** 作sqlite方法裸写
几乎前端就是各种form提交给后端
后端接受前端post过来的数据 做出各种 *** 作。然后返回的时候在return中把需要前端显示的数据作为参数一并return。前端利用jinja2就可以直接获取到了。
比如我的用户系统就是用session存值来实现的。
写好之后,由于flask自带的web太烂 多几个请求就崩了 所以你还需要略微了解一下uwsgi和nginx
最终单文件几十行代码搞定了一个迷你社交网站 每个人有自己的个人页面,同时可以互相评论 点喜欢等等
其中涉及了数据库的增删查改,以及你所说的 将其显示在前端 的功能
当然,我写的很逊,也没有做mvc分离 代码写成一坨 只图糙快猛了…
所以说如果想简单的实现你要的功能不用再考虑其他的了 直接开写吧 基础的flask就够了 不会就查书就行了
用张纸把你的各个需要做的部分列一下 比如用户 审核 查看 统计 之类的 逐个解决


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13366900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存