From 5c0289e715eb5c027c08b8b1d6520dbf05f93604 Mon Sep 17 00:00:00 2001 From: Irene Sheen Date: Fri, 12 Dec 2025 11:09:55 +0530 Subject: [PATCH] Add logout --- appunti/settings.py | 1 + notes/static/notes/images/icons/logout.png | Bin 0 -> 2382 bytes notes/static/notes/stylesheets/style.css | 6 ++++++ notes/templates/notes/base.html | 4 ++++ notes/urls.py | 3 ++- 5 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 notes/static/notes/images/icons/logout.png diff --git a/appunti/settings.py b/appunti/settings.py index cb01340..2fc2175 100644 --- a/appunti/settings.py +++ b/appunti/settings.py @@ -136,3 +136,4 @@ REST_FRAMEWORK = { LOGIN_URL = "login" LOGIN_REDIRECT_URL = "/" +LOGOUT_REDIRECT_URL = "login" diff --git a/notes/static/notes/images/icons/logout.png b/notes/static/notes/images/icons/logout.png new file mode 100644 index 0000000000000000000000000000000000000000..35723a68c8a2557398cf80255f91dd08cd32cabe GIT binary patch literal 2382 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 A1^@s6 literal 0 HcmV?d00001 diff --git a/notes/static/notes/stylesheets/style.css b/notes/static/notes/stylesheets/style.css index cd2a9f7..f98e0a3 100644 --- a/notes/static/notes/stylesheets/style.css +++ b/notes/static/notes/stylesheets/style.css @@ -28,6 +28,12 @@ header img { margin: 20px; } +.logout { + padding: 0; + background: transparent; + border: none; +} + main { padding: 0 30px; } diff --git a/notes/templates/notes/base.html b/notes/templates/notes/base.html index c657d83..fcc632e 100644 --- a/notes/templates/notes/base.html +++ b/notes/templates/notes/base.html @@ -16,6 +16,10 @@ Profile +
+ {% csrf_token %} + +
{% block body %} diff --git a/notes/urls.py b/notes/urls.py index b0995cb..315b11c 100644 --- a/notes/urls.py +++ b/notes/urls.py @@ -1,4 +1,4 @@ -from django.contrib.auth.views import LoginView +from django.contrib.auth.views import LoginView, LogoutView from django.urls import include, path from notes import views, api_views @@ -9,6 +9,7 @@ urlpatterns = [ path("post-a-note/", views.PostNoteView.as_view(), name="post-a-note"), path("profile/", views.ProfileView.as_view(), name="profile"), path("login/", LoginView.as_view(), name='login'), + path("logout/", LogoutView.as_view(), name='logout'), path("api/notes/", api_views.NoteListView.as_view(), name="api-notes-list"), path("api-auth/", include("rest_framework.urls", namespace="rest_framework")), ]