演習課題「サインアップ画面に共通テンプレートを適用する」
右の環境には、「myblog」プロジェクトに「news」というアプリケーションが作成してあります。また、サインアップ画面のために「accounts」アプリケーションも用意してあります。
この「accounts」アプリケーションのテンプレートディレクトリにあるsignup.htmlを、プロジェクトの共通テンプレートlayout.htmlを利用するよう修正してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#06:ユーザー登録画面を作ろう - その2
ここでは、DjangoのLunchmapアプリケーションにユーザー登録のサインアップ画面を追加します。先ほど作ったAccountsアプリケーションに、ビューとテンプレートを追加して、ユーザー情報を登録できるようにしましょう。
Username: admin
Password: paizaadmin
1. 管理サイトにログインする
2. 「Users」をクリック
3. パスワードを変更したいユーザー名をクリック
4. 「Change user」-「Password」にある、'Raw passwords are not stored, so there is no way to see this user's password, but you can change the password using this form.'の最後にあるリンクをクリック
5. 「Change password」フォームに新しいパスワードを入力
6. 「CHANGE PASSWORD」ボタンをクリック
lunchmap/accounts/views.pyfrom django.contrib.auth.forms import UserCreationForm
from django.urls import reverse_lazy
from django.views import generic
class SignUpView(generic.CreateView):
form_class = UserCreationForm
success_url = reverse_lazy('login')
template_name = 'accounts/signup.html'
lunchmap/accounts/templates/accounts/signup.html{% extends 'layout.html' %}
{% block content %}
<h1>Sign up</h1>
<section class='common-form'>
<form method='post'>
{% csrf_token %}
{{ form.as_p }}
<button type='submit'>Sign up</button>
</form>
</section>
{% endblock %}
lunchmap/templats/layout.html<nav class='navbar navbar-expand-sm navbar-dark bg-dark fixed-top'>
<a class='navbar-brand' href='{% url "lunchmap:index" %}'>Lunchmap</a>
<ul class='navbar-nav'>
{% if user.is_authenticated %}
<li class='nav-item'>
<span class="navbar-text">{{ user }} - </span>
</li>
<li class='nav-item'>
<a href='{% url "logout" %}' class='logout nav-link'>Logout</a>
</li>
{% else %}
<li class='nav-item'>
<a href='{% url "login" %}' class='login nav-link'>Login</a>
</li>
<li class="nav-item">
<a href='{% url "accounts:signup" %}' class='signup nav-link'> Sign up </a>
</li>
{% endif %}
</ul>
</nav>
Django でのユーザー認証
https://docs.djangoproject.com/ja/2.0/topics/auth/
Django2 でユーザー認証(ログイン認証)を実装するチュートリアル -2- サインアップとログイン・ログアウト | ITエンジニアラボ
https://it-engineer-lab.com/archives/544
Django2 でユーザー認証(ログイン認証)を実装するチュートリアル -3- ブログアプリへの実装 | ITエンジニアラボ
https://it-engineer-lab.com/archives/737
Djangoでログイン認証できるようになるまで | CodeLab
https://codelab.website/django-login/