code: def login(request):
      
      if request.method == 'GET':
          return render(request, 'user_login.html', {}, help_text=login.__doc__)
      elif request.method == 'POST':
          credentials = json_body(request.body.decode("utf-8"))
          user = auth.authenticate(
              username=credentials.get('username', ''),
              password=credentials.get('password', ''),
          )
          if user is None:
              return render_json(request, {
                  'error': _('Password or username does not match.'),
                  'error_type': 'password_username_not_match'
              }, template='user_json.html', status=401)
          if not user.is_active:
              return render_json(request, {
                  'error': _('The account has not been activated.'),
                  'error_type': 'account_not_activated'
              }, template='user_json.html', status=401)
          auth.login(request, user)
          request.method = "GET"
          return profile(request)
      else:
          return HttpResponseBadRequest("method %s is not allowed".format(request.method))
docs: Log in
  
      GET parameters:
          html
              turn on the HTML version of the API
  
      POST parameters (JSON):
          username:
              user's name
          password:
              user's password