2012-07-21 2 views
-2

django 1.4에서 세션을 열면 모든 것이 정상입니다.Django 세션이 충분하지 않습니다.

<form id="processForm" action="http://localhost:8000" method="post">{% csrf_token %} 
    <input type="submit" value="Search"></input> 
</form> 

내가 로컬 호스트에서 일하고 있어요 : 8000 memcached를 어떤 형태가

예를 처리로 내 페이지를 리디렉션하면 내 세션을 읽을 수 있습니다. 문제는 브라우저에서 localhost : 8000을 검색하면 세션을 연 후에 종료하지 않는 것처럼 세션을 읽을 수없는 경우입니다.

번호 :

views.py 세션이 자동적으로 생성된다 장고

urlpatterns = patterns('', 
    ('^$', search), 
    ('^session/$', open_session), 
    ('^csession/$', close_session), 
) 
+0

을 수행 할 수 있습니다 읽거나 세션에 작성하려면! –

답변

2

def search(request):  
    c = {} 
    c.update(csrf(request)) 
    if request.session.get('name'): 
     c.update({ 'hellomsg' : 'Hello:' + request.session["name"] }) 
    else: 
     c.update({ 'hellomsg' : 'Hello: Guest' })   
    if request.method == 'POST': 
     if request.POST['q']: 
      if not request.POST['q'] == "false":     
       c.update({ 'output' : request.POST['q'] }) 
    return render_to_response("form.html", c, context_instance= RequestContext(request)) 

def open_session(request): 
    c = {}  
    c.update(csrf(request)) 
    if not request.session.get('name'): 
     if request.POST['nametxt']: 
      request.session['name'] = request.POST['nametxt'] 
      c.update({ 'hellomsg' : 'Hello:' + request.POST['nametxt'] }) 
     else: 
      c.update({ 'hellomsg' : 'Error...'}) 
    else: 
     c.update({ 'hellomsg' : 'You're already logged in...'}) 
    return render_to_response("form.html", c, context_instance= RequestContext(request)) 

def close_session(request): 
    c = {} 
    c.update(csrf(request)) 
    if request.session.get('name'): 
     try: 
      del request.session['name'] 
      c.update({ 'hellomsg' : 'logged out...'}) 
     except KeyError: 
      pass 
    else: 
     c.update({ 'hellomsg' : 'Error'})   
    return render_to_response("form.html", c, context_instance= RequestContext(request)) 

urls.py. this 페이지를 참조하십시오.

당신은 정말 그 혼란 사촌 거기, 당신의 코드를 포맷해야 당신이 request.session['someting']

관련 문제