Django sessionsを使用する場合は、セッションデータが以前に設定されているかどうかを確認し、初期セッションデータを設定しない場合は同じビューで行うのがよいでしょうか?Djangoセッション:セッションデータを確認して同じビューで設定できますか?
これは、ユーザーがCookieを無効にしていると、大きな問題を引き起こしますか?以下は
(test cookiesの存在が私を少し混乱しています。あなたはこれらを使用ただし場合は、ページについて最初に閲覧ユーザにデータを記録することはできません。)
抜粋です私のviews.pyファイルから。ビューでは、ユーザーはゲーム上のページを訪れています。
セッションデータを以前に保存していた場合(初めてゲームを表示している場合)は、セッションデータを変更してゲームにアクセスしたことを記録します。セッションデータがない場合は、ここで初期化されます。このよう
def game(request, game_name):
game = get_object_or_404(Game, web_name=game_name)
c = { 'game': game }
# game_votes is used to store if user has voted on game yet.
# Also a key in dictionary indicates user has previously visited that game.
game_votes = request.session.get('game_votes', False):
if game_votes:
if not game_votes.has_key(game_name):
game_votes[game_name] = False
request.session['game_votes'] = game_votes
request.session.modified = True
else:
pass
else: # I.e. no session was declared previously.
request.session['game_votes'] = { game_name: False }
request.session['sorting_choice'] = 'PO'
request.session['ip_address'] = request.META['HTTP_X_FORWARDED_FOR']
return render_to_response('game.html', c)
私はジャンゴを使用したのは初めてですが、私は私が誤ってセッションを使用に関して行われている明白な何の過ちを知りたいと思いました。だからチェックする
:
は、あなたの専門知識のために非常に感謝して:)
EDITを助け、ユーザーが無効にクッキーを持っている場合、これは新しいセッションを作成しません。彼が閲覧するすべてのページのデータベース内のエントリ?右?
ヒントをいただきありがとうございます。私はhas_keyを使用するよりもよく知っていたはずです。 –
私の主な懸念事項は、ユーザーがCookieを無効にしている場合、訪問したすべてのページのデータベースに新しいセッションが追加されますか?彼らは彼らが設定されているかどうかを知ることができないので? –