1. Flask-SQLAlchemy

1.1 参考:

http://flask-sqlalchemy.pocoo.org/2.3/

https://github.com/janetat/flasky/commits/master?after=f0d6546112480b0f728194982e3fa8f9d7f0962f+34, git reset --hard 5b

https://www.cnblogs.com/allen2333/p/9059997.html

注意,任何ORM本身无法操作数据库,所以要在配置文件中配置DB。

1.2 需求

从请求的表单中获取名字。

如果数据库中存在获取后的名字,则在前端输出'Happy to see you again'。如果不在,则添加进数据库,在前端输出'Pleased to meet you'。

另外,这个从请求中的表单中获取的名字,不管怎样,也存入session中。下一次请求到来时,从session取出这个名字,在前端输出。

1.3 实现

完整示例:

https://github.com/janetat/flasky/commits/master?after=f0d6546112480b0f728194982e3fa8f9d7f0962f+34, git reset --hard 5b

粗略解说:

选用sqlite作为本地数据库。在Flask配置文件配置要database。参考:http://flask-sqlalchemy.pocoo.org/2.3/config/

app.config['SQLALCHEMY_DATABASE_URI'] =\
'sqlite:///' + os.path.join(basedir, 'data.sqlite')

创建data model,然后用脚本创建sqlite本地数据库。参考:http://flask-sqlalchemy.pocoo.org/2.3/quickstart/#a-minimal-application

2. Flask-Migrate数据库迁移框架

Flask-Migrate对SQLAlchemy的开发人员编写的一个数据库迁移框架Alembic做了包装,并集成到Flask-Script中,所有操作可以通过命令行完成。

https://github.com/janetat/flasky/commits/master?after=f0d6546112480b0f728194982e3fa8f9d7f0962f+34, git reset --hard 5d

关键代码:

from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
...
db = SQLAlchemy(app)
migrate = Migrate(app, db)
...
# 导出到命令行
@app.shell_context_processor
def make_shell_context():
return dict(db=db, User=User, Role=Role)
...
export FLASK_APP=hello.py
flask db init
flask db upgrade

最新文章

  1. Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折
  2. https 与http 的坑
  3. FreeMark学习(一)
  4. AxWebBrowser与WebBrowserU盾登陆时的使用
  5. javascript里面支持el表达式和<s:iterator>
  6. Python-2.7.11+Django-1.9.4安装配置
  7. [Angular 2] Create Shareable Angular 2 Components
  8. What is Flux?
  9. ubuntu16.04卸载软件
  10. eoLinker API-Shop 抓住区块链机遇,从这些API开始
  11. Hibernate注解用法
  12. 第四十天 并发编程之io模型
  13. 2018.4.25-ml笔记(梯度下降)
  14. android本地数据库,微信数据库WCDB for Android 使用实例
  15. PHP中封装Redis购物车功能
  16. Lua协程学习
  17. TI AM335x Linux MUX hacking
  18. spark 调优——基础篇
  19. JS简介——(一)
  20. 使用MVVM设计模式构建WPF应用程序

热门文章

  1. flask使用websocket
  2. Bug搬运工-CSCvi02106 :Cisco 2800, 3800, 1560 APs: when connected to a Cisco Switch CDP-4-DUPLEX_MISMATCH log is seen
  3. java.lang.String和java.util.NClob互相转换
  4. 使用PIE.htc 进行IE兼容CSS3
  5. C++文件写入,读出函数ofstream,ifstream的使用方法
  6. 4_4 信息解码(UVa213)<二进制:输入技巧与调试技巧>
  7. git清除用户信息
  8. 以太坊执行miner.start返回null终极解决方案
  9. ES2.3.5版本的数据类型
  10. DBC的故事(二)