Django rest_framework с базовым auth, как использовать api с django
Я создал API с базовой аутентификацией, и мне интересно, как я могу использовать его с именем пользователя и паролем
это моя конечная точка
http://127.0.0.1:8000/Clerk/
Я стараюсь потреблять его по
def display_clerk_view(request):
displaytable = requests.get('http://127.0.0.1:8000/Clerk/')
jsonobj = displaytable.json()
return render(request, 'clearance/clerk_view.html', {"ClerkClearanceItems": jsonobj})
этот блок кода и он выдает мне ошибку Unauthorized: /Clerk/
Я планирую использовать django all-auth с google в качестве провайдера, но пока я хочу знать, как работает потребление api с аутентификацией
это учебник, которому я следую https://www.geeksforgeeks.org/basic-authentication-django-rest-framework/?tab=article
В этом случае вы запрашиваете "/Clerk/", но запрос возвращается неавторизованным. Есть два способа решить эту проблему:
- Удалите разрешение аутентификации из представления (если представление основано на функции, удалите декоратор login_required или условие is_authenticated из представления. Если представление основано на классах, добавьте "permission_classes = [AllowAny, ]") .
Вы дали ссылку: Там используется декоратор под названием "permission_classes", Вы можете заменить "@permission_classes([IsAuthenticated])" на "@permission_classes([AllowAny])
- Если вам нужно авторизованное действие, вы можете просто создать токен по имени пользователя и паролю.
Существует множество способов создания токенов, самый популярный из них - simple-jwt.Чтобы узнать больше, перейдите по ссылке: Simple JWT DOCS