• Like
  • Save
使えるDjango1.4
Upcoming SlideShare
Loading in...5
×
 

使えるDjango1.4

on

  • 3,764 views

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

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

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

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

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

Statistics

Views

Total Views
3,764
Views on SlideShare
2,935
Embed Views
829

Actions

Likes
9
Downloads
12
Comments
0

6 Embeds 829

http://sourceforge.jp 786
http://magazine.sourceforge.jp 18
http://people.osdn.jp 14
https://twitter.com 9
http://s.deeeki.com 1
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    使えるDjango1.4 使えるDjango1.4 Presentation Transcript

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