Как реализовать логин Django Rest Framework?

Пытаюсь написать простенькую АПИ.
Сейчас нужно получить данные о юзере в json формате, если он существует, если нет - отдать ошибку.
Делаю вот так:
urls.py
from django.conf.urls import include, url, patterns
from django.contrib import admin

from rest_framework import routers

from reminder import views

router = routers.DefaultRouter()
router.register(r'api/users', views.UserViewSet, base_name="user")
admin.autodiscover()

urlpatterns = patterns('',
	url(r'^admin/', include(admin.site.urls)),
	url(r'^', include(router.urls)),
	url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
)

views.py
from django.shortcuts import render
from django.contrib.auth.models import User

from rest_framework import viewsets
from rest_framework import permissions
from rest_framework.views import APIView

from reminder.serializers import UserSerializer

class UserViewSet(viewsets.ModelViewSet):
	queryset = User.objects.filter(pk=1)
	serializer_class = UserSerializer

from django.contrib.auth.models import User
from rest_framework import serializers
 
class UserSerializer(serializers.HyperlinkedModelSerializer):
	class Meta:
		model = User
		fields = ('username', 'email', 'date_joined')

В итоге получаю юзера с id = 1. А хочу сделать, что-бы когда постом приходят данные (логин и пароль), я проверял что они есть в базе и отдавал информацию об этом юзере.
Если такого юзера нет, то отдавать нужно ошибку.
Как сюда прикрутить request.POST['username'] etc?
  • Вопрос задан
  • 8408 просмотров
Решения вопроса 1
@van2048
www.django-rest-framework.org/api-guide/authentication

request.POST['username']
данная конструкция валидна для Django web framework

В Django REST framework нужно работать с авторизованными пользователями через токен.
request.auth
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы