крупное обновление, завез вход и выход

This commit is contained in:
2024-01-12 17:57:54 +03:00
parent f31e7c4fef
commit 55bf7f4dd3
11 changed files with 200 additions and 48 deletions

26
users/urls.py Normal file
View File

@@ -0,0 +1,26 @@
"""users URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.urls import path
from . import views
urlpatterns = [
path('', views.default_view, name='account'),
path('register', views.default_view, name='register'),
path('login', views.view_login, name='login'),
path('logout', views.default_view, name='logout'),
path('change-password', views.default_view, name='change-password'),
]

33
users/views.py Normal file
View File

@@ -0,0 +1,33 @@
import os
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseBadRequest
from django.shortcuts import render
# from django.db.models import Manager
from django.contrib.auth import authenticate, login
def default_view(request):
return HttpResponse('Not implemented!')
def view_login(request):
render_context = {
'message': None
}
if request.method == "POST":
username = request.POST["username"]
password = request.POST["password"]
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return HttpResponseRedirect('/')
else:
render_context['message'] = "Неверный логин или пароль"
return render(request, 'account/login.html', render_context)
elif request.method == "GET":
return render(request, 'account/login.html', render_context)
else:
return HttpResponseBadRequest()