2017-12-28 15 views
0

이것은 검색을위한 내 views.py입니다.django python에서 또 다른 if 문과 함께 'is_logged_in'조건을 어떻게 추가 할 수 있습니까?

@csrf_exempt 
    def search(request): 
     if request.method == 'POST': 
      name = request.POST.get('name') 
      loc = request.POST.get('location') 
      bussinessName = request.POST.get('bussinessName') 
      d = { 
       'name': name, 
       'loc': loc, 
       'bussinessName': bussinessName, 

      } 
      return render(request, "search.html", d); 
     else: 
     # do the thing you want to do in GET method 

      return render(request,"search.html",{}); 

ID를 얻기 위해 세션을 추가해야합니다. 이것이 내가 성공 페이지의 ID를 얻는 방법입니다.

def success(request): 
    if('is_logged_in' in request.session): 
     id = request.session['authToken']; 
     return render(request,"success.html",{'uid':id}); 
    else: 
     return render(request,"success.html",{}); 

얼마나 자주이 세션을 검색에 추가 할 수 있습니까? 나는 장고에서 초보자이며 나는 이것에 대해별로 생각하지 않는다.

+0

"를 추가 이 세션에서 검색 "? – dvnguyen

+0

if (request.session의 'is_logged_in')을 추가해야합니다. id = request.session [ 'authToken']; return render (request, "success.html", { 'uid': id}); 내 바닷가 – med

+0

jQuery/Javascript에 태그를 추가해야하는 구체적인 이유는 무엇입니까? – Rajesh

답변

0

.. 너무 내 검색 세션을 가지고 도와주세요 'authToken에'는 경우

request.session['authToken'] = id 

는 사용자가 로그인 또는 단지 확인 여부를 확인하기로 로그인 후, 당신은 세션을 설정할 수 있습니다 요청 세션의 키. 해당 사용자에 대한 세션 설정이없는 경우 그래서 당신은 여기 코드는 'is_logged_in'나는 함께 갈 것, 누군가가 로그인되어있는 경우

0

확인에 충실 다른 False로 이동합니다,

@csrf_exempt 
def search(request): 
    if request.method == 'POST': 
     name = request.POST.get('name') 
     loc = request.POST.get('location') 
     bussinessName = request.POST.get('bussinessName') 
     d = { 
      'name': name, 
      'loc': loc, 
      'bussinessName': bussinessName, 
      'is_logged_in': True if 'authToken' in request.session.keys() else False 
     } 
     return render(request, "search.html", d); 
    else: 
    # do the thing you want to do in GET method 

     return render(request,"search.html",{}); 

그래서입니다 request.user.is_authenticated, Django 인증 프레임 워크에 의존합니다.

체크 아웃 https://docs.djangoproject.com/en/2.0/topics/auth/default/#limiting-access-to-logged-in-users.

, 나는 항상 /admin/login/?next={{ request.path }}에 게시물, 동일한 페이지로 돌아 오지만 다음에 기록하는 것을 ( usernamepassword 필드) 양식을 사용 request.user 변수를 설정하십시오. 당신이 뜻하는 일