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.