サインアップとログイン画面を作るURLルーティングとはドメイン以下の文字列ごとにアクセスする機能を呼び出すものです。/accounts/satoshiというパスからアカウント機能でsatoshiを呼び出すということになります。techpitgram/techpitgram/urls.pyに設定を書き込んでいきます。[プロジェクト名]/[プロジェクト名]/urls.pyはすべてのアクセスの一番最初に呼ばれるURLルーティングの設定ファイルです。ここでアプリケーションごとのurls.pyに振り分けたりします。プロジェクト設定を呼び出して画像のためのパス設定を追加]新しくtechpitgram/accounts/urls.pyを作成しておきます。ここの配列の中にルーティングを書いていきます。]テンプレートを用意するテンプレートとは最終的に出力するデータを組み立てる部品のことです。一度の出力で同じ部品を繰り返し表示したり、複数のURLで同じテンプレートを呼び出したりと、部品を再利用する事ができます。今回はHTMLを出力するために利用します。HTML記法内では変数やメゾットなどを呼び出して使うことも出来ます。ディレクトリを作るtechpitgram/templatesディレクトリを作成します。このタイミングでのディレクトリ構造は以下のようになります。作ったtemplatesディレクトリを設定に反映させます。...これでいつでもテンプレートを使う用意が出来ました。ログイン画面ログインに関してはDjangoがすでに処理を持っていてくれているのでHTMLだけ用意してあげます。すべて1つのディレクトリに入れると管理が大変になりますから新しくregistrationディレクトリを作ってlogin.htmlを新規作成しましょう。registrationはDjangoの認証の仕組みを使うとデフォルトで使うテンプレートディレクトリになっています。{{[変数名]}}と表示されているのはview層から送られてきたデータを表示するためのものです。%}は何かしらのテンプレートでの処理を行う部分です。%}はクロスサイトリクエストフォージェリという攻撃を防ぐためのコードでformタグの部分には、基本的に全部に挿入しておきます。対策を見てみてください。techpitgram/templates/registration/login.htmlまたログイン後に表示する先を指定して置きましょう。'/'ここまで来たらログインページが完成です。runserverで起動させて確認します。ログイン処理などは用意されていますが、サインアップは用意されていないので作っていきます。ここからはDjangoの思想であるMTVに則って書いていきます。MTVとはユーザーのリクエストを処理するView層とデータの定義操作するModel層そして情報をレンダリングするためのTemplate層の3つの頭文字をとったものになります。大雑把な処理順は以下のようになります。今回は深く触れていきませんが他のフレームワークではMVCモデルと呼ばれるものとほぼ同じ仕組みです。リクエストを処理するビュー層とデータを操作するモデル層によってユーザーに必要な処理を行い、最終的にはテンプレート層でユーザーに見てもらえるように画面を作成してユーザーに提示します。forms.pyを作成する。Djangoには入力フォームに関する処理を手伝ってくれる機能があります。今回はユーザー登録をするフォームを作成していくのを手伝って貰います。新しくtechpitgram/accounts/forms.pyを作成して処理を書いていきます。今回はUserCreationFormを継承してSignUpFormクラスを定義しています。UserCreationFormはユーザーを作成するためのクラスです。ここで正しく入力されているかを検証することが出来ます。このような処理をバリデーション(validation)とよびます。Djangoを参照してみてください。今回はパスワードに数字とアルファベットが含まれていることを確認したいので入力されたものを正規表現という処理で確認していきます。正規表現はDjangoではなくPythonに実装されているものです。他の言語でも正規表現を対応しているものが多いのでもし興味があれば正規表現について調べてみてください。正規表現操作を参照してみてください。使うモデルの指定です。定義したものを使います。ここではフォームで入力するフィールドを指定しています。数字とアルファベットが含まれているのかチェックします。passwordviews.pyに処理を追加する。作成したforms.pyをつかってviews.pyに処理を書いていきましょう。認証用のSignUpViewクラスとサインアップ後にユーザー情報を見るためのAccountDetailViewクラスを定義します。今回はジェネリッククラスビューと呼ばれる機能を使って実装していきます。ジェネリッククラスビューとは必要ないろいろな処理をDjangoが実装していてそれに対して自分たちで処理を追加できるようになっています。Djangoには様々なジェネリッククラスビューが存在します。今回はCreateViewとDetailViewが使われています。それ以外にもよく使うジェネリッククラスビューは以下のとおりです。'username'テンプレートを作成するテンプレートを定義していきます。techpitgram/templates/registration/signup.htmlまたユーザー詳細画面も作成しましょう。詳細画面は登録とはまた外れるのでtemplates内に新しくaccountsディレクトリを新しく作成してその中に作ります。techpitgram/templates/accounts/user_detail.htmlurls.pyを記入するurlによって各クラスに処理を振るためのルーティングを記入していきます。ユーザー詳細ページに関してはユーザー名をURLに含めるように指定ます。これはTwitterなどでも一緒で最後にユーザー名が入っています。https://twitter.com/techpit_jpこれはパス内にある<変数名>をクラスで受け取る様に実装しています。techpitというユーザーが入れば以下のようなURLになります。#ユーザー詳細画面へのパスを追記]このタイミングでのディレクトリ構造は以下の様になっています。signup.htmlここまで来ると登録ができるようになります。runserverで起動させて確認します。http://127.0.0.1:8000/accounts/signup/登録後はユーザー画面に飛んでユーザー名とアイコンが表示されるのを確認してみましょう。画像が大きすぎますね。画像を最適なサイズにするため次からはスタイルとヘッダーを追加していきます。"この評価の理由をお聞かせください。text:'12月28日~1月5日の期間は年末年始のため質問の回答が遅れる場合がございます。$('.announce').after(announce_text);。