diff options
| author | Bobby <[email protected]> | 2022-07-20 10:50:33 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2022-07-20 10:50:33 +0530 |
| commit | 1869eaac8b4708620bf61a5d7dee6ccd73474309 (patch) | |
| tree | 244cdfa581b028c4fec4118c5e1a9cfb215dfde0 /users | |
| parent | 09b002e46b69b43ccd9fc1be29c8bf15f7c2e8be (diff) | |
| download | thatcomputerscientist-1869eaac8b4708620bf61a5d7dee6ccd73474309.tar.xz thatcomputerscientist-1869eaac8b4708620bf61a5d7dee6ccd73474309.zip | |
Add users app to control user actions: added login and logout
Diffstat (limited to 'users')
| -rw-r--r-- | users/__init__.py | 0 | ||||
| -rw-r--r-- | users/admin.py | 3 | ||||
| -rw-r--r-- | users/apps.py | 6 | ||||
| -rw-r--r-- | users/migrations/__init__.py | 0 | ||||
| -rw-r--r-- | users/models.py | 3 | ||||
| -rw-r--r-- | users/tests.py | 3 | ||||
| -rw-r--r-- | users/urls.py | 9 | ||||
| -rw-r--r-- | users/views.py | 32 |
8 files changed, 56 insertions, 0 deletions
diff --git a/users/__init__.py b/users/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/users/__init__.py diff --git a/users/admin.py b/users/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/users/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/users/apps.py b/users/apps.py new file mode 100644 index 00000000..72b14010 --- /dev/null +++ b/users/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class UsersConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'users' diff --git a/users/migrations/__init__.py b/users/migrations/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/users/migrations/__init__.py diff --git a/users/models.py b/users/models.py new file mode 100644 index 00000000..71a83623 --- /dev/null +++ b/users/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/users/tests.py b/users/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/users/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/users/urls.py b/users/urls.py new file mode 100644 index 00000000..21d7d234 --- /dev/null +++ b/users/urls.py @@ -0,0 +1,9 @@ +from multiprocessing.dummy import Namespace +from django.urls import path +from . import views + +app_name = 'users' +urlpatterns = [ + path('login', views.login_user, name='login'), + path('logout', views.logout_user, name='logout'), +] diff --git a/users/views.py b/users/views.py new file mode 100644 index 00000000..9170de42 --- /dev/null +++ b/users/views.py @@ -0,0 +1,32 @@ +from django.http import HttpResponseRedirect +from django.shortcuts import render, redirect +from django.contrib.auth import authenticate, login, logout +from django.contrib import messages + + +# Create your views here. +def login_user(request): + # pass + next = request.POST.get('next', '/') + username = request.POST['username'] + password = request.POST['password'] + print (username, password) + if username == '' or password == '': + messages.error(request, 'Please fill in all fields') + print('here1') + return HttpResponseRedirect(next + '?username=' + username) + else: + print('here2') + user = authenticate(request, username=username, password=password) + if user is not None: + print('here3') + login(request, user) + return HttpResponseRedirect(next) + else: + messages.error(request, 'Invalid username or password') + print('here4') + return HttpResponseRedirect(next + '?username=' + username) + +def logout_user(request): + logout(request) + return redirect('/') |
