博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask 学习 四 数据库
阅读量:7072 次
发布时间:2019-06-28

本文共 1791 字,大约阅读时间需要 5 分钟。

class Role(db.Model):    __tablename__='roles'    id = db.Column(db.Integer,primary_key=True)    name = db.Column(db.String(64),unique=True)    users = db.relationship('User',backref='role')    def __repr__(self):        return '
'% self.nameclass User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True,index=True) role_id=db.Column(db.Integer,db.ForeignKey('role.id')) def __repr__(self): return '
' % self.username
设置SQLALCHEMY_TRACK_MODIFICATIONS 为True或False报错:FSADeprecationWarning:需要:提示给的839行,在前面几行的位置有这样的setdefault, 把None改为True;:

视图函数中操作数据库

@app.route('/', methods=['get', 'post'])def index1():    #name = None    form = NameForm()    if form.validate_on_submit():        user = User.query.filter_by(username=form.name.data).first()        if user is None:            user = User(username=form.name.data)            db.session.add(user)            session['known']=False        else:            session['known'] = True        session['name']=form.name.data        form.name.data=''        return redirect(url_for('index1'))    return render_template('index.html', name=session.get('name'), form=form, known=session.get('known',False))

 

# 集成python shelldef make_shell_context():    return dict(app=app, db=db, User=User, Role=Role)manager.add_command("shell", Shell(make_context=make_shell_context))

数据库迁移 

pip install flask-migrate

from flask_migrate import Migrate,MigrateCommand

# 数据库迁移migrate = Migrate(app,db)manager.add_command('db',MigrateCommand) # init命令创建迁移仓库 python flask_blog.py db init # 创建迁移脚本 python flask_blog.py db migrate -m 'initial migration' # 更新数据库 python flask_blog.py db upgrade

 

转载于:https://www.cnblogs.com/Erick-L/p/6880289.html

你可能感兴趣的文章
Javascript 严格模式详解
查看>>
Python3入门 Python3+Selenium做UI页面测试的学习
查看>>
两种查找算法的比较
查看>>
Spotlight监控工具使用
查看>>
依赖倒置三个原则
查看>>
[LeetCode] Contains Duplicate II
查看>>
ng-file-upload - samples
查看>>
BZOJ5339:[TJOI2018]教科书般的亵渎——题解
查看>>
svn完整搭建
查看>>
SQL XML 2
查看>>
关于jetty和webx对于HttpServletResponse getWriter和getOutputStream的处理
查看>>
纯CSS3写的10个不同的酷炫图片遮罩层效果
查看>>
关于电脑BIOS解密,如何解密问题?
查看>>
Spring线程安全的实现机制--ThreadLocal
查看>>
html5+canvs实现flash效果。
查看>>
form-data、x-www-form-urlencoded、raw、binary的区别
查看>>
第1周---python网络爬虫规则
查看>>
Shell中cut用法
查看>>
Python 文件操作
查看>>
AC620教程 第十五节 8位7段数码管驱动设计与验证
查看>>