2016-09-19 3 views
0

django-rest-frameworkを使用せずに簡単なDjango "RESTful" APIを設計したいと思います。DjangoはログインしたCookieを使用してJSONを返します

エンドポイントはであり、jsonではusernamepasswordのPOSTメソッドのみを受け入れます。後で他のエンドポイントで使用するセッションCookieを使用して成功するには、{"status" : 0}を返すようにしてください。ユーザーが正常にログインした場合のみ、Cookieが設定されます。

JsonResponseオブジェクトをdjango.httpからインポートしましたが、どのようにユーザーのセッションを設定するかはわかりません。

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')'を実行してからusernameが 'None'であるかどうかを確認する必要があります。また、パスワードに対しても同じ操作を行います。 – Flux

答えて

0

authenticateのためにクッキーがDjangoに登録されているので、return JsonResponse({'status' : 0})を使用することができます。

関連する問題