1.5.7 Menggunakan Fungsi Database Pada View - dvrg/flask-web-development GitHub Wiki

Perintah-perintah pada flask shell yang sebelumnya dapat kamu gunakan pada fungsi route.

# app.py: menambahkan perintah untuk insert ke db
...
@app.route('/'. methods=['GET', 'POST'])
def index():
    form = UserForm()
    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)
            db.session.commit()
            flash('Senang bertemu kamu')
        else:
            flash('Eh, kita ketemu lagi dong!')
        session['name'] = form.name.data
        return redirect(url_for('user', name=session.get('name')))
    return render_template('index.html', form=form, name=session.get('name'))
...

Route ini memeriksa dalam database menggunakan filter_by(). Variabel known ditulis ke sesi user yang ke redirect ke template. Ketika user tidak ada maka akan membuat user baru dengan nama yang sudah di inputkan ke form.