ユーザーがJavascriptを使ってどれくらいの時間を過ごしたかを知るための答えを見たことがありますが、JSに関する知識は不足しています(JSをPython/Flaskフレームワークに統合することはあまりありません)。Python/Flask:ユーザーがページに費やす時間を知る方法を教えてください。
私の目的は、ユーザーがデータを入力できるWebアプリケーションを作成することです。タスクの実行に費やされた時間(1日のうちの時間と何時何時)が記録されます。
私はPython、Flask、WTForms、およびSQLAlchemyをほとんどの機能に使用しています。私のviews.pyファイルから、私はこのように構成している:
@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(), endtime=datetime.utcnow())
db.session.add(entry)
db.session.commit()
return redirect(url_for('home'))
return render_template('logpage.html', form=form)
ユーザーヒットは、セッションID、ユーザーのIDを提出し、終了時刻は、PostgreSQLサーバに記録されている場合。私はpageload = datetime.utcnow()を設定しようとしましたが、フォームの検証の前にページがロードされた時間を保存したいと考えていましたが、終了時刻と同じ時間を保存しているようです。
私は、現在の日付時刻をSQLエントリ/行に書き込んで、フォームが検証されたときに同じ行に入力する方法を見つけようとしていましたが、同じ行に2回書き込む方法はわかりません。おそらくプライマリキーとそれらをリンクして何か?私はこれを調査し続けます。
このページが読み込まれる日時を保存して、フォームが送信された時間と比較できるようにしたいと思います。 javascriptなしでこれを達成するための簡単な方法はありますか?
jqueryを使用すると、カウンタのカウントを開始し、その結果をフォームで送信できます。 – senaps
@senaps:私はそれを試みますが、私は実際にジョブがいつ行われているかを見るために開始と停止のタイムスタンプも望みました。私は終了時間を記録し、記録された時間を引くことができると思いますか?面白いですが、うまくいくかもしれません。返信いただきありがとうございます。 –
私はTimeMe.JS(https://github.com/jasonzissman/TimeMe.js)ライブラリを使用して、ユーザーがページの所要時間を計測することを検討していますが、ユーザーがページを開いている間も実行を継続するように設定する必要があります最小化/別のタブに行くか、これを行う同様のライブラリを見つける。 –