djangoで新規アカウント登録フォーム画面の作り方

djangoで新規アカウント(ユーザー)を登録し、作成するまでの作り方を紹介します。

この記事では、djangoのforms.py、views.py、htmlを網羅的に書いたコードを紹介しています。

ゴール

実際にこれから紹介するコードを使用して起動させた場合の表示は以下のような仕上がりになります。

おそらく一般的なwebサービスのアカウント登録画面ではないでしょうか。

環境

環境

・python 3.8

・django 2.2

ディレクトリ構造

まずはディレクトリ構造を先に公開しておきます。

HTML

ユーザーがブラウザで操作するフロント画面になります。

singup.html

  1. djangoのhtmlテンプレートでは、formタグを用意して、methodがpostの場合は必ず{% csrf_token %}を記載します。postはつまり、CRUD(create,read,update,delete)を意味しますが容量が多い複雑な処理に対してセキュリティをかけるために使用します。
  2. 25行目のbuttonタグを書いた後に、form閉じタグを

forms.py

formsの役割としてはユーザーの入力データを保持することと、入力データのバリデーション(妥当性チェック)を行うことがあります。

forms.py

  1. 49行目から65行目までは各fieldのバリデーション処理になります。複数のfieldが絡む処理は67行目以降のcleanメソッドで書きます

urls.py

urls.py

特に説明は行いません。

views.py

views.py

  1. 1行目のform .forms import AccoutAddFormで、forms.pyからAccountAddFormクラスを読み込見ます
  2. 2行目のfrom django.contrib.auth import get_user_model はdjangoで元々用意されているuserモデルを使用するために読み込んでいます。実際に12行目で、get_user_model()に対して、create_userでアカウントを生成するようにしています
  3. 11行目でformの値が有効な場合に、create_userでアカウントが作成されます
  4. 17行目でユーザーアカウントが作成されたら、自動的に画面遷移して「アカウント登録しました。」のメッセージを表示させます

最後に

いかがでしたでしょうか。

以上が、「djangoで新規アカウント登録フォーム画面の作り方」の紹介記事になります。

プログラミング学習を効率良く進めるには…

私ヒロヤンがプログラミングを始めた頃は以下のような感じでした。

何から手をつけていいのか、わからない。

プログラミングを始めてみたけど、エラーが解決できない。

そしてネットで調べていくうちに膨大な時間が過ぎていきました。

私ヒロヤンの実体験より、プログラミングを効率的に学ぶために大切なことは以下のことだと考えています。

1. いつまでもダラダラとやらないで、目標を決定して短期集中する

2. マンツーマンで、わからない箇所は直ぐに質問をして即レスをもらう

.proでは私ヒロヤンが学習してきたプログラミング経験0からのpython/django、その他webサイト・サービス開発のコースが用意されています。

カウンセリング自体は無料なので話を聞いてみるだけでもいかがでしょうか?

また以下のリンク先ではdjango専用のプログラミングスクールをまとめ紹介しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です