Flask-SQLAlchemy(五)—— 视图函数中操作数据库

实现一个用户数据的名字记录到数据库中:

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

配套模板:

{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}MyFlask{% endblock %}
{% block page_content %}

{{ wtf.quick_form(form) }}
{% endblock %}

参考资料:《Flask Web开发(第二版)》

你可能感兴趣的:(大杂烩,flask,SQLAlchemy,视图函数操作数据库)