aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby <[email protected]>2022-07-20 10:50:33 +0530
committerBobby <[email protected]>2022-07-20 10:50:33 +0530
commit1869eaac8b4708620bf61a5d7dee6ccd73474309 (patch)
tree244cdfa581b028c4fec4118c5e1a9cfb215dfde0
parent09b002e46b69b43ccd9fc1be29c8bf15f7c2e8be (diff)
downloadthatcomputerscientist-1869eaac8b4708620bf61a5d7dee6ccd73474309.tar.xz
thatcomputerscientist-1869eaac8b4708620bf61a5d7dee6ccd73474309.zip
Add users app to control user actions: added login and logout
-rw-r--r--users/__init__.py0
-rw-r--r--users/admin.py3
-rw-r--r--users/apps.py6
-rw-r--r--users/migrations/__init__.py0
-rw-r--r--users/models.py3
-rw-r--r--users/tests.py3
-rw-r--r--users/urls.py9
-rw-r--r--users/views.py32
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('/')