Django sessions을 사용하는 경우 세션 데이터가 이전에 설정되었는지 확인하고 초기 세션 데이터를 설정하지 않는 것이 동일한보기인지 확인하는 것이 좋습니다.Django 세션 : 세션 데이터를 확인하고 같은보기에서 설정할 수 있습니까?
사용자가 쿠키를 사용하지 않도록 설정하면 내 또는 사용자에게 심각한 문제가 발생합니까?
(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)
장고, 내가 실수로 세션을 사용하여 관련하여 만든 눈부신 어떤 실수를 알고 싶어 내가 처음 사용합니다.
편집 도움 :
그래서단지 확인 : 사용자가 쿠키를 사용하지 않는 경우에,이 새로운 세션을 생성하지 않습니다 그가 보는 모든 페이지에 대한 데이터베이스의 항목? 권리?
팁 주셔서 감사합니다. has_key를 사용하는 것보다 잘 알고 있어야합니다. –
내 코드에 대한 주요 관심사는 다음과 같습니다. 사용자가 쿠키를 사용할 수없는 경우 내 코드가 방문하는 모든 페이지에 대해 데이터베이스에 새 세션을 추가합니까? 그들이 설정 중이라는 것을 알 수 없기 때문에? –