diff --git a/panel/nix/package.nix b/panel/nix/package.nix index c3dcce8..54328ac 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 e4869c4..e25d487 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 0000000..2fa4a75 --- /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 c92f287..ad2afc5 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/registration/login.html b/panel/src/panel/templates/registration/login.html new file mode 100644 index 0000000..3971f66 --- /dev/null +++ b/panel/src/panel/templates/registration/login.html @@ -0,0 +1,10 @@ +{% extends 'base.html' %} + +{% block content %} +

Login

+
+ {% csrf_token %} + {{ form.as_p }} + +
+{% endblock %} diff --git a/panel/src/panel/urls.py b/panel/src/panel/urls.py index d4f47e8..7a0fc28 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 a7d73ff..f945d89 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