PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Python/Flask:Bagaimana cara mengetahui berapa lama pengguna menghabiskan waktu di halaman? (Aplikasi entri data/log waktu)

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Data Pencocokan Teks SQLAlchemy di dalam bidang JSON dengan UTF-8

  2. Liquibase/PostgreSQL:bagaimana cara mempertahankan case tabel dengan benar?

  3. Menghubungkan ke Postgresql dalam wadah buruh pelabuhan dari luar

  4. Bagaimana cara membaca data file wal PostgreSQL? Apakah ada perintah untuk mengonversi biner PostgreSQL ke format teks yang dapat dibaca?

  5. Memasukkan nilai DEFAULT ke dalam kolom ketika parameternya NULL