flask-sqlalchemy数据库自动更新
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask-sqlalchemy数据库自动更新相关的知识,希望对你有一定的参考价值。
@spi.route('/planned/test')
def planned_test():
spider_job_list = SpiderJob.query.all()
spider_list = SpiderInfo.query.all()
return render_template('admin/spiders/planned-task.html', spider_job_list=spider_job_list, spider_list=spider_list)
这么写 数据库里有新内容的话,前端是没数据的,只有重启项目才会刷新,所以为了让他不重启就能同步数据,应该怎么写从数据库提取内容呢?
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __init__(self, username, email):
self.username = username
self.email = email
def __repr__(self):
return '<User %r>' % self.username
admin = User('admin', 'admin@example.com')
db.create_all() # In case user table doesn't exists already. Else remove it.
db.session.add(admin)
db.session.commit() # This is needed to write the changes to database
User.query.all()
User.query.filter_by(username='admin').first() 参考技术A 数据库是按照数据结构来组织、存储和管理数据的仓库,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
快速入门流行ORM框架~Flask-SQLAlchemy
文 | 远山近海
ORM概念
注意(敲黑板):
-
ORM是未来发展的方向,大势所趋,现在的公司一般都使用ORM框架。所以,学习ORM框架才是向新技术靠拢,顺应大势的做法。 -
使用了ORM框架不意味着对SQL的放弃,一般性的SQL语句还是要掌握的。
Python的ORM工具--SQLAlchemy
Flask-sqlalchemy——sqlalchemy的衍生物
__gt=xx 为大于xx
__gte=xx 为大于等于xx
__lt=xx 为小于xx
__lte=xx 为小于等于xx
初始化
使用时需引入 from flask_sqlalchemy import SQLAlchemy
注意:
1. 引入时使用的是下划线_,pip安装时使用的是上划线-
2. import SQLAlchemy中,SQLA是大写
app = Flask(__name__) # 创建了一个Flask类的实例
app.secret_key="123"
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://tester1:123456@127.0.0.1:3306/tpdb?charset=utf8"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"]=True
app.config["SQLALCHEMY_ECHO"]=True
db=SQLAlchemy(app)
app.config["SQLALCHEMY_DATABASE_URI"]= "mysql+pymysql://tester1:123456@127.0.0.1:3306/tpdb?charset=utf8"
utf8中间没有-
各个部分间的连接符号不能错
连接器也可以使用其他的,这里不再赘述
第四句 app.config["SQLALCHEMY_TRACK_MODIFICATIONS"]=True
-
1. 先把站点名称app传给SQLAlchemy -
2. db是步骤1的实例化,以后我们操作数据库,就都使用db这个实例化对象
-
在使用SQLAlchemy之前,必须先创建好数据库,SQLAlchemy可以帮我们建表,查询,但不能帮我们建库,如上例中的tpdb这个库,是提前先用命令行创建好的 -
db=SQLAlchemy(app)这句,有另一种分开两句的写法:
db=SQLAlchemy()
db.init_app(app)
(下期预告:创建表)
无论上课或自学,
你首先需要准备:
每天 2 小时+的学习时间,
每天坚持写代码的习惯!
有投入才有产出,
10k+的涨幅需要 1 年以上的努力!
祝你成功!
光荣之路出品
以上是关于flask-sqlalchemy数据库自动更新的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 flask-sqlalchemy 创建自动递增主键
使用 Flask-SQLAlchemy 在 Alembic 自动生成迁移中未检测到任何变化
python flask-sqlalchemy如何设置使自动建的mysql表字符集charset为utf8
Python——flask-sqlalchemy 自动生成符合Sqlachemy的Model:sqlautocode/sqlacodegen使用方式