djangoでログイン機能を実装する



djangoでwebアプリを開発し始めたました。今回はログイン機能を実装したのでまとめます。

参考文献はこちらです。

 

 

appの概要

ログインページ→ログインする→appのトップページという設計です。

ログイン機能を実装するにあたってあまり必要ないですが「数式とそのtexコマンドが一発で確認できる」という、いうなればtexの数式チートシートです。app名は「RAKURAKUtex」です。

 

ログイン機能の実装

  • accountsアプリの作成

appがあるディレクトリにいき、以下を実行します。

他のアプリ作成時同様、myapp/setting.pyに以下を追記する。

ログインするためのurlとログアウトのurl、リダイレクト先のurl(ログイン後に飛んだ先のurl)もここで設定してしまいましょう。

 

  • URLの設定

myapp/urls.pyに以下を追記します。

次にaccountsディレクトリ内にいき、新たに以下の内容で「urls.py」を作成します。

  • templatesの作成

accountsディレクトリ内に、templatesディレクトリを作成。さらにそのtemplatesディレクトリ内にaccountsディレクトリを作成。そしてその中でlogin.htmlを以下の内容で作成する。

ディレクトリ構造は→accounts/templates/accounts/login.html となります。

 

ログアウトページのtemplatesも同様に作成します。accounts/templates/accounts内にlogged_out.htmlを以下の内容で作成します。

以上で実装は完了です。試してみましょう。

 

実際に動かす

  • http://127.0.0.1:8000/accounts/login/にアクセスします

ログインをクリックすると、

RAKURAKUTeXのページ(settings.pyで指定したリダイレクト先のurl)に行きます。

試しにログアウトも動くかどうか確認します。

  • http://127.0.0.1:8000/accounts/logged_out/にアクセスします

 

うまく動いているようです。しかしこれだとログアウトをwebアプリから直接できるわけではないので、ログアウトページを作成しただけになります。ログアウトの機能も作ったらまた更新します。

 


スポンサーリンク

記事が役に立ったらシェア!

django チュートリアルの備忘録



スポンサードリンク

最近djangoの勉強の一貫として公式tutirialを始めたのですが、思わぬところでつまづいたのでメモ。

めんどくさがらずに最初から丁寧にやっておけばこんなことにはならなかったと思う笑。

参考にしているドキュメント

一つ目のがdjangoの公式ドキュメントで、二つ目がその公式ドキュメントを元に作成されたtutorialなのでチュートリアルのチュートリアルみたいな感じになってます。

ついでに私のコードはgithubに置いておきます。

問題点

参考にしているドキュメント(チュートリアル(4))では以下のような画面になるといっていますが、ここまで順番通りにやってきたはずなのになぜか選択肢のラジオボタンが表示されない。

 

上のような感じで表示されるはずが、

自分の場合こんな感じに。(質問名が違うのは適当に自分で名付けたので気にしないでください。)

というよりその選択肢の文章どこで設定してんだよって感じで、本家チュートリアル(一つ目の参考ドキュメント)をくまなく探す。

一箇所飛ばしていることに気づく笑。


スポンサードリンク

飛ばしていた箇所

本家チュートリアル(2)の真ん中らへん「APIで遊んでみる」というところ。

APIなんかで今は遊んでらんねぇ、と当初はすっ飛ばしていましたがここがこんなに重要だとは。

pythonシェルを起動し以下をコピペしていく。

これでもう一度.以下を実行。

いけました!!

しかし選択してvoteを押すと

 

なに?

本来ならば投票がカウントされボタンを押した回数分数値が反映されるはずなのですが、反映されないどころかエラー。念のため、

http://192.168.33.15:8000/polls/1/results/で結果画面を確認すると

やはり0のまま。どこが違うのかわからない。当分はここのバグを見つけるで時間を費やしそう。

解決できたらまた更新します。

 

 

 

記事が役に立ったらシェア!