Userモデルについて
DjangoではデフォルトでUserモデルが提供されています。
このUserモデルを使うことで簡単に認証機能を作ることができます。
Userモデルには、
- username
- first_name
- last_name
- password
- date_joined
- last_login
などのフィールドがあります。
ユーザーページを作る
簡単なユーザーページの作り方を紹介します。
urls.py
urls.pyのurlpatternsに以下のようなpathを追加する。
urlpatterns = [
・・・
path('users/<int:pk>/', views.users_detail, name='users_detail'),
]
views.py
views.pyに以下を追加する。
from django.shortcuts import get_object_or_404, render
from django.contrib.auth.models import User
def users_detail(request, pk):
user = get_object_or_404(User, pk=pk)
return render(request, 'app/users_detail.html', {'user': user})
users_detail.html
users_detail.htmlを作成し、以下のように記述する。
ここでは、base.htmlを拡張している。
{% extends 'app/base.html' %}
{% block content %}
<h2 class="user-name">@{{ user.username }}</h2>
{% endblock %}