0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

『Django4 Web アプリ開発実装ハンドブック』のサインアップページでアドレス入力欄がでなかった話

Posted at

概要

以下の「Django4 Web アプリ開発実装ハンドブック」の第7章の369~386ページにかけてサインアップページを作成しているときに、そのページにメールアドレス入力欄がなかった。本のページに見誤りやすい部分があり、正誤表の通りにコードを修正したところ、メールアドレス入力欄が出るようになった。

説明

本書の371ページに以下の様なコードが記載してある。

from django.contrib.auth.forms import UserCreationForm
from .models import CustomUser

class CustomUserCreationForm(UserCreationForm):
    class  Meta:
        model = CustomUser
        fields = ("username", "email", "password1", "password2")

ところが、印刷の間違いで本来黒色で印刷するべきところ(class Meta:の行)が、コメントアウトを示す灰色で印刷してあった。そのため、本来上のようにあるべきところが、以下の様なクラスに見間違えてしまった。

from django.contrib.auth.forms import UserCreationForm
from .models import CustomUser

class CustomUserCreationForm(UserCreationForm):
    model = CustomUser
    fields = ("username", "email", "password1", "password2")

本来、UserCreationFormはデフォルトでmodel属性としてUserを読み込む。そのため、入力フォームとしてユーザー名、メールアドレス、パスワード*2を要求するところ、ユーザー名とパスワードだけを入力するページになってしまった。

解決方法

本書のサポートページの正誤表には、class Meta:の行が黒色でなく灰色で印刷してあるための旨が記載してある。それを正しく修正すればサインアップページにメールアドレス入力欄が出るようになる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?