diff --git a/panel/nix/package.nix b/panel/nix/package.nix
index c3dcce8c..54328acd 100644
--- a/panel/nix/package.nix
+++ b/panel/nix/package.nix
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
setuptools,
+ sqlite,
django_4,
django-compressor,
django-libsass,
@@ -46,6 +47,7 @@ buildPythonPackage {
django-compressor
django-libsass
dj-database-url
+ sqlite
];
postInstall = ''
diff --git a/panel/src/panel/settings.py b/panel/src/panel/settings.py
index e4869c4b..e25d4872 100644
--- a/panel/src/panel/settings.py
+++ b/panel/src/panel/settings.py
@@ -119,6 +119,9 @@ AUTH_PASSWORD_VALIDATORS = [
},
]
+LOGIN_URL = 'login'
+LOGIN_REDIRECT_URL = '/' # Redirect to homepage after login
+LOGOUT_REDIRECT_URL = '/' # Redirect to homepage after logout
# Internationalization
# https://docs.djangoproject.com/en/4.2/topics/i18n/
diff --git a/panel/src/panel/templates/accountdetail.html b/panel/src/panel/templates/accountdetail.html
new file mode 100644
index 00000000..2fa4a756
--- /dev/null
+++ b/panel/src/panel/templates/accountdetail.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %}
+
+{% block content %}
+
{{ user.username }}
+
+- e-mail
- {{ user.email}}
+
+{% endblock %}
diff --git a/panel/src/panel/templates/base.html b/panel/src/panel/templates/base.html
index c92f2874..ad2afc5c 100644
--- a/panel/src/panel/templates/base.html
+++ b/panel/src/panel/templates/base.html
@@ -17,9 +17,9 @@
{% if user.is_authenticated %}
- Welcome, {{ user.username }}!
+ Welcome, {{ user.username }}! Logout
{% else %}
- You are not logged in.
+ Login
{% endif %}
{% block navigation %}
diff --git a/panel/src/panel/templates/login.html b/panel/src/panel/templates/login.html
new file mode 100644
index 00000000..3971f663
--- /dev/null
+++ b/panel/src/panel/templates/login.html
@@ -0,0 +1,10 @@
+{% extends 'base.html' %}
+
+{% block content %}
+ Login
+
+{% endblock %}
diff --git a/panel/src/panel/urls.py b/panel/src/panel/urls.py
index d4f47e81..7a0fc28f 100644
--- a/panel/src/panel/urls.py
+++ b/panel/src/panel/urls.py
@@ -15,10 +15,12 @@ Including another URLconf
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
-from django.urls import path
+from django.urls import include, path
from panel import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.Index.as_view(), name='index'),
+ path("", include("django.contrib.auth.urls")),
+ path("account/", views.AccountDetail.as_view(), name='accountdetail')
]
diff --git a/panel/src/panel/views.py b/panel/src/panel/views.py
index a7d73ff0..f945d890 100644
--- a/panel/src/panel/views.py
+++ b/panel/src/panel/views.py
@@ -1,4 +1,13 @@
+from django.contrib.auth.mixins import LoginRequiredMixin
+from django.contrib.auth.models import User
from django.views.generic import TemplateView
+from django.views.generic import DetailView
class Index(TemplateView):
template_name = 'index.html'
+
+class AccountDetail(LoginRequiredMixin, DetailView):
+ model = User
+ template_name = 'accountdetail.html'
+ def get_object(self):
+ return self.request.user