Django チュートリアルを読みながら自分なりのメモ [Python]
Django チュートリアルは、以前にも読んだはずなのに、ちゃんと理解してないから身につかない。
今度は自分なりにポイントをメモしながら読み直してみた。
理解のために、「testsite に testapp を作る」と、チュートリアルとは名称を変えて例示。
[その1] 初期化,モデル作成,データベース API
http://michilu.com/django/doc-ja/tutorial01/
Django で管理する単位は「サイト」。その中に「アプリ」が1つ以上ある。
testsite の中に testapp を作るとすると、
$ python django-admin.py startproject testsite
でサイト全体にかかわるファイル manage.py settings.py urls.py が testsite ディレクトリの中にできる
settings.py の DATABASE_XXXX を編集し、サイトのバックエンドのDBを指定
$ cd testsite $ python manage.py startapp testapp
で、アプリにかかわるmodels.py(モデル定義) views.py(ビュー定義) のファイルが testapp ディレクトリにできる
testapp/models.py を編集してモデルを作る
settings.py の INSTALLED_APPS に 'testsite.testapp' を追加
$ python manage.py syncdb
で、models.py の定義を元にデーターベースにテーブルが作成される
$ python manage.py shell
でインタラクティブシェル経由でモデルを操作できる
$ python manage.py runserver
で、開発用 Web サーバーが起動して port 8000 で listen する
(・・・けど、view が定義されてない今の時点では何もできない)
[その2]自動生成の admin サイトを探究する
http://michilu.com/django/doc-ja/tutorial02/
settings.py の INSTALLED_APPS に 'django.contrib.admin' を追加
編集したいモデルのクラスにインナークラス Admin を定義する
class Foo(models.Model): # ... class Admin: pass
python manage.py syncdb を実行
testsite/urls.py の "Uncomment this for admin:" と書かれた次の行のコメントアウトを外す
$ python manage.py runserver
で開発サーバーを起動し http://127.0.0.1:8000/admin/ にアクセスと admin サイトにログインして編集できる
class Admin の定義を変えると、モデルの編集できるデータ等をカスタマイズできる
admin サイトの見た目を変えるには
django/contrib/admin/templates から admin/base_site.html をどこかにコピーして
そのディレクトリを settings.py の TEMPLATE_DIRS に追加してあげる
ここまでのところでは、まだ settings.py testapp/models.py しかいじってない
[その3] 公開用のインタフェースビューを作成する
http://michilu.com/django/doc-ja/tutorial03/
settings.py の ROOT_URLCONF が 'testsite.urls' になっているはず
testsite/urls.py に、正規表現と、マッチした場合に呼び出す view のメソッドの tuple を記述
view のメソッドの中で、render_to_response() を呼び出す時に
・テンプレートファイル
・テンプレート内で参照する Python オブジェクト
を指定する
テンプレートファイルの配置はいろいろやり方はあるが(testapp がダブるけど)
testsite/testapp/templates/testapp/
に置くのが吉らしい。静的なファイルは
testsite/static/testapp
あたりに置くと良いような気がする。
[その4] 簡単なフォームデータ処理と汎用ビュー
http://michilu.com/django/doc-ja/tutorial04/
まだ、今の時点では消化しきれない。汎用ビューは使わなくても困らない。
もう少ししたら読み直す。
No Prescription Tadalafil Envelt https://acialisd.com/# - canadian pharmacy cialis 5 mg rarkagever Comprare Cialis Con Paypal Lesineni <a href=https://acialisd.com/#>Cialis</a> Enveli como comprar cialis en espana
by hoacits (2020-07-10 05:48)