Skip to content

1.5.7 Menggunakan Fungsi Database Pada View

David Rigan edited this page Feb 13, 2020 · 1 revision

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.

Clone this wiki locally