メサイア・ワークス

Djnago(pythonのlaravelみたいなWebフレームワーク)入門。標準でadmin機能があって、モデル追加すると管理画面に反映できる!

Djnago(pythonのlaravelみたいなWebフレームワーク)入門。標準でadmin機能があって、モデル追加すると管理画面に反映できる!

0, まずは、hello,worldから

helloproject/urls.py を修正

http://127.0.0.1:8000/
で、hello,worldと表示される。

1, テンプレート(HTML)で表示

Djanagoでは、機能(アプリ)毎にフォルダを分ける。
認証機能 → accounts アプリ
ブログ機能 → blog アプリ
商品管理 → products アプリ
みたいな感じ。

① フォルダ作成(helloアプリ機能)

② HTMLファイル作成:helloproject/hello/templates/hello/index.html

③ helloproject/urls.py を修正

settings.py の INSTALLED_APPS配列にhelloアプリを追加

2, モデルを作ってDB表示。標準の管理者機能も使う

ステップ1:モデルを定義(hello/models.py)

ステップ2:マイグレーション(DBテーブル作成)

ステップ3:管理画面に登録

Djanagoは最初から管理画面機能が用意されていて、管理画面も管理者ログインも出来る!
モデル追加すると管理画面に反映できる!
http://127.0.0.1:8000/admin/

ステップ4:ビューでDBからデータを取得(helloproject/urls.py)

ステップ5:テンプレートで一覧表示(hello/templates/hello/index.html)

3. 一般ユーザログイン

管理画面から、一般ユーザ作成が出来るので先に作っておく

ステップ1:一般ユーザ用のルーティング追加
helloproject/urls.py

これで以下のURLが使えるようになります:
/accounts/login/ ログインページ
/accounts/logout/ ログアウトページ
/accounts/password_change/ パスワード変更
/accounts/password_reset/ パスワードリセット(メール必要)

settings.pyでリダイレクト先を指定

ステップ2:ログイン画面を用意する
Djangoのログインビューはテンプレートを自動では作ってくれません。
自分で registration/login.html を作る必要があります。

hello/templates/registration/login.html

ステップ3:ログイン必須のページを作る
hello/views.py

ステップ4:トップ画面を、ログイン対応する。ログインしていない状態だとログイン画面にリダイレクトされる。

モバイルバージョンを終了