2016-09-19 3 views
0

django-rest-framework을 사용할 필요없이 간단한 Django "RESTful"API를 디자인하고 싶습니다.Django는 로그인 쿠키가있는 JSON을 반환합니다.

엔드 포인트는 이고, json에서는 usernamepassword의 POST 메소드 만 허용됩니다. 나는 나중에 다른 엔드 포인트에서 사용될 세션 쿠키를 사용하여 성공을 위해 {"status" : 0}을 반환하기를 원합니다. 사용자가 성공적으로 로그인 한 경우에만 쿠키가 설정됩니다.

에서 JsonResponse 개체를 가져 왔지만 사용자 세션을 설정하는 방법을 잘 모릅니다.

def login(request): 
    # some code omitted, like if request.method == "POST" 
    credential = json.loads(request.body) 
    username = credential['username'] 
    password = credential['password'] 
    user = authenticate(username=username, password=password) 
    if user: 
     if user.is_active: 
      auth_login(request, user) 
     else: 
      return JsonResponse({"status" : 1, "err" : "Your account has been disabled"}) 
     # TODO: Now return what? 

나는 document을 탐색했지만 유용한 팁을 찾지 못했습니다.

+0

질문과 관련없는 제안 : KeyError를 방지하려면 계속 진행하기 전에'username = credential.get ('username')'을 수행하고 사용자 이름이'None'인지 확인해야합니다. 또한 암호도 동일하게하십시오. – Flux

답변

0

authenticate 때문에 쿠키가 Django에 등록되어 있기 때문에 나는 단지 return JsonResponse({'status' : 0})을 사용할 수 있다고 테스트했습니다.

관련 문제