Anda dapat menggunakan sesi Flask untuk melacak waktu mulai. Ini diterapkan di atas cookie browser.
http://flask.pocoo.org/docs/0.12/quickstart/#sessions
Anda perlu menerapkan kunci rahasia untuk aplikasi (seperti yang ditunjukkan pada contoh memulai cepat), dan kemudian Anda dapat menggunakan session
objek sebagai penyimpan nilai kunci untuk informasi khusus pengguna.
Untuk kasus penggunaan khusus Anda, mungkin seperti:
@app.route('/logpage', methods=['GET', 'POST'])
@login_required
def logpage():
form = LogForm()
if form.validate_on_submit():
entry = LogData(sessionid=form.sessionid.data, user_id=current_user.get_id(),
starttime=session.pop('start_time', None), endtime=datetime.utcnow())
db.session.add(entry)
db.session.commit()
return redirect(url_for('home'))
session['start_time'] = datetime.utcnow()
return render_template('logpage.html', form=form)
pageload = datetime.utcnow()
sebelum validasi formulir tidak berfungsi karena:
- variabel ini akan menjadi lokal untuk cakupan fungsi dan tidak akan bertahan setelah fungsi selesai
- bahkan jika variabel tidak lokal ke lingkup pemanggilan fungsi, fungsi yang sama dipanggil untuk GET dan POST, sehingga akan ditimpa ketika pengguna memposting formulir
Satu hal lagi yang perlu diperhatikan adalah Anda tidak dapat mempercayai pengguna untuk menggunakan cookie atau mengizinkan JavaScript, jadi Anda harus mempertimbangkan bagaimana program Anda akan menangani waktu mulai nol dalam database.