Skip to content

Commit d889b30

Browse files
committed
step 2 done
1 parent db91825 commit d889b30

File tree

4 files changed

+47
-27
lines changed

4 files changed

+47
-27
lines changed

task_manager/templates/login.html

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{% extends "base.html" %}
2+
3+
{% block title %}Вход{% endblock %}
4+
5+
{% block content %}
6+
<div class="row justify-content-center">
7+
<div class="col-md-4">
8+
<h2>Вход</h2>
9+
<form method="post" novalidate>
10+
{% csrf_token %}
11+
{{ form.non_field_errors }}
12+
<div class="form-group">
13+
{{ form.username.label_tag }}
14+
{{ form.username }}
15+
{{ form.username.errors }}
16+
</div>
17+
<div class="form-group">
18+
{{ form.password.label_tag }}
19+
{{ form.password }}
20+
{{ form.password.errors }}
21+
</div>
22+
<button type="submit" class="btn btn-primary btn-block">Войти</button>
23+
</form>
24+
</div>
25+
</div>
26+
{% endblock %}

task_manager/urls.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
from django.contrib import admin
2-
from django.urls import path
2+
from django.urls import path, include
33
from django.contrib.auth import views as auth_views
44
from django.views.generic import TemplateView
55
from .views import users_view, register_view # Импорт функций-представлений
66

77
urlpatterns = [
88
path('admin/', admin.site.urls),
9+
path('accounts/', include('django.contrib.auth.urls')),
910
path('login/', auth_views.LoginView.as_view(), name='login'),
1011
path('register/', register_view, name='register'), # без .as_view()
1112
path('users/', users_view, name='users'), # без .as_view()

task_manager/views.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
from django.shortcuts import render
21
from django.contrib.auth.decorators import login_required
32
from django.contrib.auth.forms import UserCreationForm
4-
from django.shortcuts import redirect
3+
from django.contrib.auth.forms import AuthenticationForm
4+
from django.shortcuts import render, redirect
5+
from django.contrib.auth import login
56

67
def home_view(request):
78
return render(request, 'index.html')
@@ -22,3 +23,19 @@ def users_view(request):
2223
from django.contrib.auth.models import User
2324
users = User.objects.all()
2425
return render(request, 'users.html', {'users': users})
26+
27+
28+
def login_view(request):
29+
if request.method == 'POST':
30+
form = AuthenticationForm(request, data=request.POST)
31+
else:
32+
form = AuthenticationForm()
33+
# Добавляем класс 'form-control' к каждому полю
34+
for field in form.fields.values():
35+
field.widget.attrs.update({'class': 'form-control'})
36+
37+
if request.method == 'POST' and form.is_valid():
38+
user = form.get_user()
39+
login(request, user)
40+
return redirect('home')
41+
return render(request, 'login.html', {'form': form})

0 commit comments

Comments
 (0)