Skip to content

Commit 12338e6

Browse files
author
Juan Benitez
committed
custom response on login view, now user info is returned
1 parent 5536bd5 commit 12338e6

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

api_crud/urls.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11

22
from django.contrib import admin
33
from django.conf.urls import include, url
4-
from .views import RegisterView
4+
from .views import RegisterView, CustomLoginView
55

66

77
# urls
88
urlpatterns = [
99
url(r'^', include('movies.urls')),
10-
url(r'^rest-auth/', include('rest_auth.urls')),
10+
url(r'^rest-auth/login/', CustomLoginView.as_view()),
1111
url(r'^rest-auth/registration/', RegisterView.as_view()),
12+
url(r'^rest-auth/', include('rest_auth.urls')),
1213
url(r'^admin/', admin.site.urls),
1314
]

api_crud/views.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
from allauth.account.utils import complete_signup
77
from allauth.account import app_settings as allauth_settings
88
from rest_auth.models import TokenModel
9+
from rest_auth.views import LoginView
910
from rest_auth.registration.app_settings import RegisterSerializer, register_permission_classes
11+
from django.contrib.auth.models import User
1012

1113
sensitive_post_parameters_m = method_decorator(
1214
sensitive_post_parameters('password1', 'password2')
@@ -23,6 +25,7 @@ def dispatch(self, *args, **kwargs):
2325
return super(RegisterView, self).dispatch(*args, **kwargs)
2426

2527
def create(self, request, *args, **kwargs):
28+
print('here')
2629
serializer = self.get_serializer(data=request.data)
2730
serializer.is_valid(raise_exception=True)
2831
user = self.perform_create(serializer)
@@ -39,3 +42,14 @@ def perform_create(self, serializer):
3942

4043
complete_signup(self.request._request, user, None, None)
4144
return user
45+
46+
47+
class CustomLoginView(LoginView):
48+
def get_response(self):
49+
orginal_response = super().get_response()
50+
custom_response = {"user": {
51+
"username": self.user.username,
52+
"email": self.user.email
53+
}}
54+
orginal_response.data.update(custom_response)
55+
return orginal_response

0 commit comments

Comments
 (0)