Как войти в систему как существующий пользователь в django shell

#django

#django

Вопрос:

В оболочке django я хочу отладить определенный вызов API, и для работы ресурса необходимо войти в систему.

 from django.test import  Client
from urllib.parse import urlsplit, parse_qsl

client = Client()
client.login(username='my_username', password='my_password')
# I also tried client.force_login() without success

url_data = urlsplit(url)
r = client.get(path=url_data.path, data=parse_qsl(url_data.query))

# r is <HttpUnauthorized status_code=401, "text/html; charset=utf-8">
  

редактировать: я говорю о реальной среде (предварительной подготовке) с реальными учетными данными

Как мне правильно войти в систему?

Ответ №1:

Попробуйте

 from django.contrib.auth import authenticate
user = authenticate(username='john', password='secret')
if user is not None:
    # A backend authenticated the credentials
else:
    # No backend authenticated the credentials
  

https://docs.djangoproject.com/en/3.1/topics/auth/default/#authenticating-users

Комментарии:

1. Это то же самое, что вызывается client.login() , и это не работает