pho@自習室

2011-06-09

初心者向けDjangoチュートリアルいろいろ

| 01:04

Djangoチュートリアル検索していろいろ試して、なんとなく雰囲気がつかめたので実際に新機能を作っているところ。

https://docs.djangoproject.com/en/dev/intro/tutorial01/

これは、けっこう丁寧でわかりやすい。Pollというアプリで投票できるようにするというもの。基本中の基本かな。

http://www.webmonkey.com/2010/02/get_started_with_django/

2010年2月のもの。DeliciousAPIを使って自分の最新のブックマークを引っ張ってくる例が良かった。ただソースコードコピペしにくくて残念。インデントが崩れて非常に面倒くさい。ちなみにpythonのインデントがどのくらい重要かってのは、これがわかりやすかった。

http://codezine.jp/article/detail/1617

コーディングスタイルは、ここがわかりやすかった。

http://docs.python.org/tutorial/controlflow.html#intermezzo-coding-style

ここを参考にしてmacvimの設定ファイルをpython向けにカスタマイズ。これ重要。

http://d.hatena.ne.jp/bellbind/20091109/1257723740

http://www.djangorocks.com/tutorials/how-to-create-a-basic-blog-in-django.html

webmonkeyではDeliciousの情報は引っ張って来れたけど、なぜかうまくブログが表示できなかった。それでDjangorocksのブログを作るチュートリアルをやってみた。こっちならできた。ただ更新がDjangoのadmin画面を利用していたのが残念。その方が簡単なのはわかるけど、自分が知りたいのはフォームを使ってどうやってアップロードして、情報を処理するかなので。

http://www.lightbird.net/dbe/index.html

Django1.2向け。画像をアップロードするやり方が参考になった。Djangoのドキュメントでもやり方は書いてあるけど、最初から最後まで手取り足取り書いてくれてるチュートリアルってのは、初期段階で非常に参考になる。

https://docs.djangoproject.com/en/dev/topics/http/file-uploads/

https://docs.djangoproject.com/en/dev/topics/forms/

フォームを使ったファイルのアップロードは本家を参考にして学んだ。

http://www.djangobook.com/en/2.0/

なにげにこのDjango Bookがいい。他のドキュメントに出てない例とか書いてあって参考になる。Formの項では検索用のクエリなども取り上げられていて、これから調べたいと思っていたところなので助かる。切り口の違う資料があるってのはいいものだ。

  • 時刻取得と数値から文字列への変換

http://stnhm.posterous.com/python-datetime

http://www.pythonweb.jp/tutorial/string/index9.html

ファイル名をどうしようかなと思って、とりあえずミリ秒にしてみた。

感想

10日くらいひたすらチュートリアルをやって感じたこと。

少しずつちびちびやっても忘れてしまうので、集中して一気にできたのは良かった。

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start & (DB動かす)
createdb mydb(mydbというDBを作成)
django-admin.py startproject mysite (mysiteというプロジェクトの立ち上げ)
cd mysite
mvim setting.py(DBの設定ー>engineとDBname)
python manage.py syncdb(DBの同期)
python manage.py startapp myapp(myappというアプリの作成)
mvim myapp/models.py(モデルの作成)
mvim setting.py(installedappsにmyappを追加)
python manage.py sql myapp(DBにモデルの内容を反映させる)
python manage.py syncdb(同期)
mvim urls.py(admin作成のため数行uncommentにする)
python manage.py runserver(ブラウザで見られるようにする)
mvim setting.py(テンプレートまでのパスを書く)
mvim urls.py(urlパターンを書く)
mvim myapp/views.py(どんな処理をするか書く)
mkdir templates
mvim templates/mysite.html(テンプレートファイルの作成)
python manage.py runserver(サーバー起動)
できあがり(だったらいいな)。いろいろ遊ぶ。
pg_ctl -D /usr/local/var/postgres stop(終わったら一応DB止めてる)

てな感じの流れにようやくなじんできた。