diadiaスマートフォン用の表示で見るdiadia興味があることをやってみる。自分のメモを残しておきます。up)機能を作るDjangoどうやってユーザを作成するか。作り方のアプローチとしては2通りある。Djangoforms.pyから作成する方法(自作)自作する方法を前半で、ビルトインのUserCreationFormを後半に記す。注意:この方法ではuserのパスワードを保存できるかまだ確認中。userのパスワードを確実に保存したいのであればビルトインのUserCreationFormを使う方法をおすすめする。Djangoこの辺が必要になる。context)get_user_model()は使うことが推奨されている。)#フォームには入力ミス(バリデーションエラー)を表示させる機能を書く#入力ミスの種類には、2箇所のパスワード入力値が不一致の場合に知らせるもの、すでに登録されているusername,emailの場合登録できないと知らせるものがある。username簡単にまとめると、登録機能はviews.pyが担っている。forms.pyは入力内容を決めている。入力値が適正かの判断もforms.pyが担っている。登録機能の要views.pyについて少し書く。create_user()で登録させる。引数はusername,email,passwordにした。Userについては予め定義しておく。これをしておかないと、djangoの既設定Userをつかってしまうからっぽい。passwordはいつもどおりに取り出す。(POSTの値をcleaned_dataして辞書型のデータに整形し、get()にキーを入力して取り出すって流れ。up機能を実装するにはUserCreationFormを用いると良いと思っている。それはユーザーのパスワードを確実に登録できるからだ。form.cleaned_data.get("password")と設定した変数passwordを扱ってuserをcreateすることが経験上うまくいかなかったからだ。単純に勘違いの可能性もあるが、今はpasswordの変数を使わないでuserインスタンスを発行するのが望ましいと結論づけている。passwordの変数を使わないでuserインスタンスを発行するとは、User.objects.create_user(****)やUser.objects.create(****)を使わないでユーザーを作るということだ。djangoではuserモデルに関わるものはすでにいろいろなプログラムが準備されており、そのプログラムがあることでDjangoユーザーは自分の思い通りにコードを書くことができない。djangoを思い通りに使いたい場合にはUserモデル周辺の仕組みがどうなっているかを理解していくことが重要だと認識するようになった。form.is_valid():form.save()#新事実!form.save()した段階でuserインスタンスが作成されている!!!#以下のコードは登録した後に自動でログインする仕組みを書いているに過ぎない。context)とにかくdjangoが準備したUserCreationFormにユーザーネームやらパスワードを入力したあとにUserCreationFormのインスタンスメソッドsave()すれば良い。create,create_userは使わなくて良い。あとこれは想像だけれどもパスワードを登録するときには、文字列型の状態だと登録ができないのではないか?パスワードを登録する際に$$$のような形で登録しないとうまく保存されないような気がする。入力したパスワードの文字列型からこの形に変換してくれる機能をUserCreationFormは有していると思われる。本題:データオブ...2018-09-19任意の情報だけを表示させる方法(ListView)問題点例えば、ブログの下書きと公開記事があるとする。月別アーカイブはてなブログをはじめよう!torajirousanさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。