使えるDjango1.4               Django & Pyramid Con 2012                       @hirokiky12年9月14日金曜日
使えるDjango1.4              • おまえだれよ (2m)              • Django について (24m)              • Django > 1.0の使えること (19m)          ...
使えるDjango1.4              • おまえだれよ              • Django について              • Django > 1.0の使えること                           ...
おまえだれよ          • @hirokiky (清原 弘貴)          • Weekend Programmer          • Admin of djangoproject.jp                    ...
djangoproject.jp                                          http://djangoproject.jp/                   https://github.com/dj...
使えるDjango1.4              • おまえだれよ              • Django について              • Django > 1.0の使えること                           ...
DjangoはPythonで書かれた          オープンソースのWebフレームワーク                      Speaker: @hirokiky12年9月14日金曜日
Django製サイト              • Disqus              • Instagram              • Mozilla              • bitbucket                 ...
WebServer              request              Template              URL Dispatcher      response             View           ...
設計思想              • ルースカップリング              • コード量の低減              • 迅速な開発              • DRY(Don t repeat yourself)則      ...
Djangoの良いところ              • オブジェクト管理インタフェース              • フォーム処理ライブラリ              • 汎用ビュー                        Speaker...
オブジェクト管理インタフェース                     (Admin)              • 管理インタフェースが動的に生成される              • カスタマイズ性が高い                   ...
Demo: Admin (15m)              • プロジェクト作成 => 管理画面 (10m)              • django-blog-zinniaの紹介 (5m)                         ...
Read Docs              and some codes                      Speaker: @hirokiky12年9月14日金曜日
使えるDjango1.4              • おまえだれよ              • Django について              • Django > 1.0の使えること                           ...
Django > 1.0              • project template              •   <del>Class Based View</del>                                 ...
project template   • Django>=1.4   • template of project              https://docs.djangoproject.com/en/dev/releases/1.4/#...
project templateで?              • 特定環境へのデプロイが楽              • ノウハウをまとめておける                          Speaker: @hirokiky12年9...
色々めんどくさい          • 開発/運用環境の切り分け(DEBUG          • アプリケーションはproject/appsに置きたい          • 依存パッケージの記述          • 設定ファイルに書きたくな...
これを『テンプレ』化                    Speaker: @hirokiky12年9月14日金曜日
使い方  django-admin.py startproject --template=/path/to/template myproject         --template=/path/to/template             ...
template       ├──	  fabfile.py       ├──	  gunicorn.py.ini       ├──	  manage.py       ├──	  Procfile       ├──	  reqs   ...
template       ├──	  fabfile.py       ├──	  gunicorn.py.ini       ├──	  manage.py       ├──	  Procfile       ├──	  reqs   ...
.pyファイルも       if	  __name__	  ==	  "__main__":       	  	  	  	  os.environ.setdefault("DJANGO_SETTINGS_MODULE",	  "{{	  ...
要するに          django/conf/project_templateの代わりに          オレオレproject templateが使える                             Speaker: @hi...
例: django-skel   • heroku + S3 環境   • Django歴4年以上の開発者のノウハウがいっぱい              https://github.com/rdegges/django-skel       ...
Workflow                  Speaker: @hirokiky12年9月14日金曜日
開発まえ              • startproject              • git init              • pip install -r reqs/dev.txt              • sync, m...
Hack some apps               (not projects)                       Speaker: @hirokiky12年9月14日金曜日
運用まで              • fab	  bootstrap              • heroku	  config:add              • heroku	  scale              • collec...
オツカレチャ━━━━( ́ `)━━━━ン!!!!                         Speaker: @hirokiky12年9月14日金曜日
django-skelからノウハウを学ぶ          • 開発/運用環境の切り分け          • appsディレクトリ                     Speaker: @hirokiky12年9月14日金曜日
django-­‐skel              ├──	  fabfile.py              ├──	  gunicorn.py.ini              ├──	  manage.py              ├...
環境の切り分け              • 開発、運用環境をうまく切り替えたい              • settings.DEBUGをハードコードは最悪                              Speaker: @hi...
django-skelでは?                        ├──	  settings                        │	  	  	  │	  	  	  ├──	  __init__.py         ...
apps              • アプリケーションをいれる              • import時の名前の衝突を防ぐ                           Speaker: @hirokiky12年9月14日金曜日
django-­‐skel   ├──	  fabfile.py   ├──	  gunicorn.py.ini   ├──	  manage.py   ├──	  Procfile   ├──	  reqs   │	  	  	  ├──	 ...
.	  #	  ここにpath  |-­‐-­‐	  aggregator  |	  	  	  |-­‐-­‐	  __init__.py  |	  	  	  |-­‐-­‐	  blog.py                       ...
.	  #	  ここにpath  |-­‐-­‐	  apps  |	  	  	  |-­‐-­‐	  __init__.py  |	  	  	  |-­‐-­‐	  aggregator  |	  	  	  |	  	  	  |-­‐...
project templateで?              • 特定環境へのデプロイが楽              • ノウハウをまとめておける                          Speaker: @hirokiky12年9...
Django1.4の良さは {% elif %} だけ                        じゃない                              Speaker: @hirokiky12年9月14日金曜日
Announce      • DjangoSprintやります      • PyConJP 3日目      • 自由に      • http://2012.pycon.jp/program/sprints.html           ...
以上               Speaker: @hirokiky12年9月14日金曜日
Any questions?                      Speaker: @hirokiky12年9月14日金曜日
参考資料              • djangoproject.jp              • djangoproject.com              • django-blog-zinnia              • dja...
なんで Django > 1.0              • 日本語ドキュメントが長らく1.0              • Django1.4ドキュメント翻訳作業中              • django-docs-ja        ...
Upcoming SlideShare
Loading in...5
×

使えるDjango1.4

3,609

Published on

Django の概要と、最新の『使える』情報を紹介。 Djangoを全く知らない人や、Django1.0以降を知らない人が対象です。

Djangoの魅力はもちろん、最新のDjango1.4で登場した「project template」についても紹介します。

他にもDjangoに関する情報の集め方、調べ方についても紹介します。 「チュートリアルやったけど、これからどうすれば…」という方の助けになります。

この発表を聞けば、きっと無駄な苦労なしにプロジェクトを完成させられます。

0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,609
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
14
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

使えるDjango1.4

  1. 1. 使えるDjango1.4 Django & Pyramid Con 2012 @hirokiky12年9月14日金曜日
  2. 2. 使えるDjango1.4 • おまえだれよ (2m) • Django について (24m) • Django > 1.0の使えること (19m) Speaker: @hirokiky12年9月14日金曜日
  3. 3. 使えるDjango1.4 • おまえだれよ • Django について • Django > 1.0の使えること Speaker: @hirokiky12年9月14日金曜日
  4. 4. おまえだれよ • @hirokiky (清原 弘貴) • Weekend Programmer • Admin of djangoproject.jp Speaker: @hirokiky12年9月14日金曜日
  5. 5. djangoproject.jp http://djangoproject.jp/ https://github.com/django-ja/djangoproject.jp/ Speaker: @hirokiky12年9月14日金曜日
  6. 6. 使えるDjango1.4 • おまえだれよ • Django について • Django > 1.0の使えること Speaker: @hirokiky12年9月14日金曜日
  7. 7. DjangoはPythonで書かれた オープンソースのWebフレームワーク Speaker: @hirokiky12年9月14日金曜日
  8. 8. Django製サイト • Disqus • Instagram • Mozilla • bitbucket Speaker: @hirokiky12年9月14日金曜日
  9. 9. WebServer request Template URL Dispatcher response View Model DataBase Speaker: @hirokiky12年9月14日金曜日
  10. 10. 設計思想 • ルースカップリング • コード量の低減 • 迅速な開発 • DRY(Don t repeat yourself)則 • 暗示的より明示的に • 一貫性 http://djangoproject.jp/doc/ja/1.0/misc/design-philosophies.html Speaker: @hirokiky12年9月14日金曜日
  11. 11. Djangoの良いところ • オブジェクト管理インタフェース • フォーム処理ライブラリ • 汎用ビュー Speaker: @hirokiky12年9月14日金曜日
  12. 12. オブジェクト管理インタフェース (Admin) • 管理インタフェースが動的に生成される • カスタマイズ性が高い Speaker: @hirokiky12年9月14日金曜日
  13. 13. Demo: Admin (15m) • プロジェクト作成 => 管理画面 (10m) • django-blog-zinniaの紹介 (5m) Speaker: @hirokiky12年9月14日金曜日
  14. 14. Read Docs and some codes Speaker: @hirokiky12年9月14日金曜日
  15. 15. 使えるDjango1.4 • おまえだれよ • Django について • Django > 1.0の使えること Speaker: @hirokiky12年9月14日金曜日
  16. 16. Django > 1.0 • project template • <del>Class Based View</del> Speaker: @hirokiky12年9月14日金曜日
  17. 17. project template • Django>=1.4 • template of project https://docs.djangoproject.com/en/dev/releases/1.4/#custom-project-and-app-templates Speaker: @hirokiky12年9月14日金曜日
  18. 18. project templateで? • 特定環境へのデプロイが楽 • ノウハウをまとめておける Speaker: @hirokiky12年9月14日金曜日
  19. 19. 色々めんどくさい • 開発/運用環境の切り分け(DEBUG • アプリケーションはproject/appsに置きたい • 依存パッケージの記述 • 設定ファイルに書きたくない情報の扱い (SECRET_KEY, PASSWORD Speaker: @hirokiky12年9月14日金曜日
  20. 20. これを『テンプレ』化 Speaker: @hirokiky12年9月14日金曜日
  21. 21. 使い方 django-admin.py startproject --template=/path/to/template myproject --template=/path/to/template ※URLも可 Speaker: @hirokiky12年9月14日金曜日
  22. 22. template ├──  fabfile.py ├──  gunicorn.py.ini ├──  manage.py ├──  Procfile ├──  reqs │      ├──  common.txt templateはこんな感じ │      ├──  dev.txt │      └──  prod.txt ├──  requirements.txt (ディレクトリ) ├──  project_name │      ├──  apps │      │      └──  __init__.py │      ├──  __init__.py │      ├──  libs │      │      └──  __init__.py │      ├──  settings │      │      ├──  common.py │      │      ├──  dev.py │      │      ├──  __init__.py │      │      └──  prod.py │      ├──  templates │      │      ├──  404.html │      │      └──  500.html │      └──  urls.py └──  wsgi.py Speaker: @hirokiky12年9月14日金曜日
  23. 23. template ├──  fabfile.py ├──  gunicorn.py.ini ├──  manage.py ├──  Procfile ├──  reqs │      ├──  common.txt templateはこんな感じ │      ├──  dev.txt │      └──  prod.txt ├──  requirements.txt (ディレクトリ) ├──  project_name │      ├──  apps │      │      └──  __init__.py │      ├──  __init__.py プロジェクト名に │      ├──  libs │      │      └──  __init__.py │      ├──  settings 置き換わる │      │      ├──  common.py │      │      ├──  dev.py │      │      ├──  __init__.py │      │      └──  prod.py │      ├──  templates │      │      ├──  404.html │      │      └──  500.html │      └──  urls.py └──  wsgi.py Speaker: @hirokiky12年9月14日金曜日
  24. 24. .pyファイルも if  __name__  ==  "__main__":        os.environ.setdefault("DJANGO_SETTINGS_MODULE",  "{{  project_name  }}.settings.dev")        from  django.core.management  import  execute_from_command_line        execute_from_command_line(sys.argv) • project_name • project_directory • secret_key • あと自由にオプションで Speaker: @hirokiky12年9月14日金曜日
  25. 25. 要するに django/conf/project_templateの代わりに オレオレproject templateが使える Speaker: @hirokiky12年9月14日金曜日
  26. 26. 例: django-skel • heroku + S3 環境 • Django歴4年以上の開発者のノウハウがいっぱい https://github.com/rdegges/django-skel Speaker: @hirokiky12年9月14日金曜日
  27. 27. Workflow Speaker: @hirokiky12年9月14日金曜日
  28. 28. 開発まえ • startproject • git init • pip install -r reqs/dev.txt • sync, migrate, runserver Speaker: @hirokiky12年9月14日金曜日
  29. 29. Hack some apps (not projects) Speaker: @hirokiky12年9月14日金曜日
  30. 30. 運用まで • fab  bootstrap • heroku  config:add • heroku  scale • collectstatic  &&  compress Speaker: @hirokiky12年9月14日金曜日
  31. 31. オツカレチャ━━━━( ́ `)━━━━ン!!!! Speaker: @hirokiky12年9月14日金曜日
  32. 32. django-skelからノウハウを学ぶ • 開発/運用環境の切り分け • appsディレクトリ Speaker: @hirokiky12年9月14日金曜日
  33. 33. django-­‐skel ├──  fabfile.py ├──  gunicorn.py.ini ├──  manage.py ├──  Procfile ├──  reqs │      ├──  common.txt │      ├──  dev.txt │      └──  prod.txt ├──  requirements.txt ├──  project_name │      ├──  apps django-skel │      │      └──  __init__.py │      ├──  __init__.py │      ├──  libs のレイアウト │      │      └──  __init__.py │      ├──  settings │      │      ├──  common.py │      │      ├──  dev.py │      │      ├──  __init__.py │      │      └──  prod.py │      ├──  templates │      │      ├──  404.html │      │      └──  500.html │      └──  urls.py └──  wsgi.py Speaker: @hirokiky12年9月14日金曜日
  34. 34. 環境の切り分け • 開発、運用環境をうまく切り替えたい • settings.DEBUGをハードコードは最悪 Speaker: @hirokiky12年9月14日金曜日
  35. 35. django-skelでは? ├──  settings │      │      ├──  __init__.py │      │      ├──  common.py │      │      ├──  dev.py │      │      └──  prod.py • 開発のみの設定はdev、運用はprod、共通がcommon • heroku  config:add   DJANGO_SETTINGS_MODULE={{  project_name  }}.settings.prod Speaker: @hirokiky12年9月14日金曜日
  36. 36. apps • アプリケーションをいれる • import時の名前の衝突を防ぐ Speaker: @hirokiky12年9月14日金曜日
  37. 37. django-­‐skel ├──  fabfile.py ├──  gunicorn.py.ini ├──  manage.py ├──  Procfile ├──  reqs │      ├──  common.txt │      ├──  dev.txt │      └──  prod.txt ├──  requirements.txt ├──  project_name │      ├──  apps django-skelのここ │      │      └──  __init__.py │      ├──  __init__.py │      ├──  libs │      │      └──  __init__.py │      ├──  settings │      │      ├──  common.py │      │      ├──  dev.py │      │      ├──  __init__.py │      │      └──  prod.py │      ├──  templates │      │      ├──  404.html │      │      └──  500.html │      └──  urls.py └──  wsgi.py Speaker: @hirokiky12年9月14日金曜日
  38. 38. .  #  ここにpath |-­‐-­‐  aggregator |      |-­‐-­‐  __init__.py |      |-­‐-­‐  blog.py apps無しの例 |      |-­‐-­‐  models.py |      |-­‐-­‐  tests.py |      `-­‐-­‐  views.py |-­‐-­‐  blog • aggregator.viewsで |      |-­‐-­‐  __init__.py |      |-­‐-­‐  models.py |      |-­‐-­‐  tests.py • from blog.models import Entry |      `-­‐-­‐  views.py |-­‐-­‐  manage.py `-­‐-­‐  myprj        |-­‐-­‐  __init__.py        |-­‐-­‐  settings.py        |-­‐-­‐  urls.py • ImportError        `-­‐-­‐  wsgi.py Speaker: @hirokiky12年9月14日金曜日
  39. 39. .  #  ここにpath |-­‐-­‐  apps |      |-­‐-­‐  __init__.py |      |-­‐-­‐  aggregator |      |      |-­‐-­‐  __init__.py そこでapps |      |      |-­‐-­‐  blog.py |      |      |-­‐-­‐  models.py |      |      |-­‐-­‐  tests.py |      |      `-­‐-­‐  views.py |      `-­‐-­‐  blog |              |-­‐-­‐  __init__.py |              |-­‐-­‐  models.py |              |-­‐-­‐  tests.py |              `-­‐-­‐  views.py |-­‐-­‐  manage.py • from apps.blog.model import Entry `-­‐-­‐  myprj        |-­‐-­‐  __init__.py        |-­‐-­‐  settings.py        |-­‐-­‐  urls.py        `-­‐-­‐  wsgi.py Speaker: @hirokiky12年9月14日金曜日
  40. 40. project templateで? • 特定環境へのデプロイが楽 • ノウハウをまとめておける Speaker: @hirokiky12年9月14日金曜日
  41. 41. Django1.4の良さは {% elif %} だけ じゃない Speaker: @hirokiky12年9月14日金曜日
  42. 42. Announce • DjangoSprintやります • PyConJP 3日目 • 自由に • http://2012.pycon.jp/program/sprints.html Speaker: @hirokiky12年9月14日金曜日
  43. 43. 以上 Speaker: @hirokiky12年9月14日金曜日
  44. 44. Any questions? Speaker: @hirokiky12年9月14日金曜日
  45. 45. 参考資料 • djangoproject.jp • djangoproject.com • django-blog-zinnia • django-skel Speaker: @hirokiky12年9月14日金曜日
  46. 46. なんで Django > 1.0 • 日本語ドキュメントが長らく1.0 • Django1.4ドキュメント翻訳作業中 • django-docs-ja https://github.com/django-docs-ja/django-docs-ja Speaker: @hirokiky12年9月14日金曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×