Basic user profile

This commit is contained in:
Skia 2015-11-19 09:46:05 +01:00
parent c8680ec87d
commit 898490324a
5 changed files with 59 additions and 3 deletions

View File

@ -74,6 +74,15 @@ class User(AbstractBaseUser, PermissionsMixin):
"Returns the short name for the user."
return self.first_name
def get_display_name(self):
"""
Returns the display name of the user.
A nickname if possible, otherwise, the full name
"""
if self.nick_name != "":
return self.nick_name
return self.get_full_name()
def email_user(self, subject, message, from_email=None, **kwargs):
"""
Sends an email to this User.

View File

@ -1 +1,7 @@
{% extends "sith/base.html" %}
{% extends "core/base.html" %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
Hello, world. You're at the core index.
{% endblock %}

View File

@ -0,0 +1,28 @@
{% extends "core/base.html" %}
{% block title %}
{% if profile %}
{{ profile.get_display_name }}'s profile
{% endif %}
{% if user_list %}
User list
{% endif %}
{% endblock %}
{% block content %}
{% if profile %}
<h3>User Profile</h3>
<p><a href="{% url 'core:user_list' %}">Back to list</a></p>
<p>You're seeing the profile of <strong>{{ profile.get_display_name }}</strong></p>
{% endif %}
{% if user_list %}
<h3>User list</h3>
<ul>
{% for u in user_list %}
<li><a href="{% url 'core:user_profile' u.id %}">{{ u.get_display_name }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}

View File

@ -7,5 +7,8 @@ urlpatterns = [
url(r'^login$', views.login, name='login'),
url(r'^logout$', views.logout, name='logout'),
url(r'^register$', views.register, name='register'),
url(r'^user/$', views.user, name='user_list'),
url(r'^user/(?P<user_id>[0-9]+)/$', views.user, name='user_profile'),
url(r'^user/(?P<user_id>[0-9]+)/edit$', views.user_edit, name='user_edit'),
]

View File

@ -1,4 +1,4 @@
from django.shortcuts import render, redirect
from django.shortcuts import render, redirect, get_object_or_404
from django.http import HttpResponse
from django.contrib.auth import logout as auth_logout
@ -10,7 +10,7 @@ import logging
logging.basicConfig(level=logging.DEBUG)
def index(request):
return HttpResponse("Hello, world. You're at the core index.")
return render(request, "core/index.html", {'title': 'Bienvenue!'})
def register(request):
if request.method == 'POST':
@ -39,3 +39,13 @@ def login(request):
def logout(request):
auth_logout(request)
return redirect('core:index')
def user(request, user_id=None):
if user_id == None:
return render(request, "core/user.html", {'user_list': User.objects.all})
user = get_object_or_404(User, pk=user_id)
return render(request, "core/user.html", {'profile': user})
def user_edit(request, user_id):
pass