]> code.kerkeslager.com Git - climbing.kerkeslager.com/commitdiff
Nicer display of currently logged-in user
authorDavid Kerkeslager <kerkeslager@gmail.com>
Fri, 4 Mar 2022 18:46:41 +0000 (13:46 -0500)
committerDavid Kerkeslager <kerkeslager@gmail.com>
Fri, 4 Mar 2022 18:46:41 +0000 (13:46 -0500)
src/core/templates/core/base.html
src/user_profile/urls.py
src/user_profile/views.py

index b1e0ecef41ad3ddf1e3b95280d4d9e331f26f25c..f304cfd1c32e8cbea49ac752dc8406c40a55b06f 100644 (file)
       {% else %}
         <span><a href='/t/'>Training</a></span>
       {% endif %}
+
+      {% if request.user.is_authenticated %}
+      <span>Logged in as <a href='{% url "user:self-profile-detail" %}'>{{ request.user.username }}</a>.</span>
+      {% endif %}
     </nav>
 
     {% block content %}{% endblock %}
index bc2c6d85a822bc23a26fddc1f588a57d6b795cf1..d1dad9bbb1b51d594518543d6cfaf81ac0b0f93c 100644 (file)
@@ -2,10 +2,17 @@ from django.urls import path
 
 from . import views
 
+app_name = 'user'
+
 urlpatterns = (
+    path(
+        '',
+        views.user_profile_detail,
+        name='self-profile-detail',
+    ),
     path(
         '<str:username>',
         views.user_profile_detail,
-        name='user-profile-detail',
+        name='profile-detail',
     ),
 )
index 41498b63981b403b1de3d3548709b13d0bf7c30b..39557a9de6c652d5ab7f9b50d85edc1b05237e0e 100644 (file)
@@ -1,4 +1,5 @@
 from django.contrib.auth.models import User
+from django.http import Http404
 from django.shortcuts import get_object_or_404
 from django.views.generic.detail import DetailView
 
@@ -6,6 +7,14 @@ class UserProfileDetailView(DetailView):
     model = User
 
     def get_object(self):
-        return get_object_or_404(User, username=self.kwargs['username'])
+        username = self.kwargs.get('username')
+
+        if username:
+            return get_object_or_404(User, username=username)
+
+        if self.request.user.is_authenticated:
+            return self.request.user
+
+        raise Http404()
 
 user_profile_detail = UserProfileDetailView.as_view()