Skip to content

Commit c0c1d9e

Browse files
committed
Tutorial part 9 - login and logout functions
1 parent 9112d04 commit c0c1d9e

File tree

3 files changed

+19
-16
lines changed

3 files changed

+19
-16
lines changed

09_Django-login-logout/db.sqlite3

0 Bytes
Binary file not shown.

09_Django-login-logout/users/urls.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
from django.urls import path
22
from . import views
3+
# from django.contrib.auth import views as auth_views
34

45
urlpatterns = [
56
path("register", views.register, name="register"),
67
path('login', views.custom_login, name='login'),
78
path('logout', views.custom_logout, name='logout'),
9+
# path('login', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
10+
# path('logout', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
811
]

09_Django-login-logout/users/views.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from django.contrib.auth.decorators import login_required
66
from django.contrib.auth.forms import AuthenticationForm
77

8+
89
# Create your views here.
910
def register(request):
1011
if request.user.is_authenticated:
@@ -31,37 +32,36 @@ def register(request):
3132
context={"form": form}
3233
)
3334

35+
@login_required
36+
def custom_logout(request):
37+
logout(request)
38+
messages.info(request, "Logged out successfully!")
39+
return redirect("homepage")
3440

3541
def custom_login(request):
3642
if request.user.is_authenticated:
37-
return redirect('homepage')
43+
return redirect("homepage")
3844

39-
if request.method == 'POST':
45+
if request.method == "POST":
4046
form = AuthenticationForm(request=request, data=request.POST)
4147
if form.is_valid():
4248
user = authenticate(
43-
username=form.cleaned_data['username'],
44-
password=form.cleaned_data['password'],
49+
username=form.cleaned_data["username"],
50+
password=form.cleaned_data["password"],
4551
)
4652
if user is not None:
4753
login(request, user)
4854
messages.success(request, f"Hello <b>{user.username}</b>! You have been logged in")
49-
return redirect('homepage')
55+
return redirect("homepage")
5056

5157
else:
5258
for error in list(form.errors.values()):
5359
messages.error(request, error)
5460

55-
form = AuthenticationForm()
56-
61+
form = AuthenticationForm()
62+
5763
return render(
5864
request=request,
59-
template_name="users/login.html",
60-
context={'form': form}
61-
)
62-
63-
@login_required
64-
def custom_logout(request):
65-
logout(request)
66-
messages.info(request, "Logged out successfully!")
67-
return redirect("homepage")
65+
template_name="users/login.html",
66+
context={"form": form}
67+
)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy