Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Django基礎
IT寺子屋 紗音寺 ハンズオン
#django_learning
おまえだれよ
@jbking
django-ja, pylons-ja
群馬県の東毛在住
タイムスケジュール
• 13:00 〜 おさらい
• 13:15 〜 今日の範囲について
• 13:30 〜 ハンズオン
• 15:00 〜 ハッカソンとフォローアップ
おさらい
• 前回なにやったか
• http://www.slideshare.net/jbking/django-learning
• インストールしてますか?
• Nitrous.io https://www.nitrous.io/join...
今日の範囲
• ビュー
• ファイルアップロード
ビュー
ビューの役割
 リクエストを受け取る
 入力データのチェック
 ドメインロジックを呼び出す
 モデルを操作
 レスポンスを返す
View
Model
Model
Form
基本
リクエストを受け取る
レスポンスを返す
ドメインロジックを呼び出す
(Postオブジェクトをupdated_atの降順で取り出す)
ざっと処理の流れを復習
クラスベースドビュー
クラスベースドビュー
存在理由
 ビューの処理はパターン化できる
 DRY
 必要なコードだけ記述
 テスト範囲を絞れる
https://docs.djangoproject.com/en/1.5/topics/class-based-...
ファイルアップロード
ビューの応用
Django使ってるのだから
ラクしましょう
 モデルにフィールドを追加
 DBマイグレーション。。。
 モデルフォームにフィールドを追加
 アップロードしたファイルを読めるようにする
 MEDIA_URL, MEDIA_ROOTの設...
Django使ってるのだから
ラクしましょう
 アップロードされるファイルのパース
 multipart
 ファイル転送
 保存方法の指定
 ファイルのバリデーション
やらないこと
モデルにフィールドの追加
ストレージの指定
アップロードしたファイル
を読めるようにする
settings.py
urls.py
送信フォームのエンコード
タイプの変更
post_form.html
モデルフィールドのURLを
テンプレートに入れる
post_detail.html
FileFieldから派生したフィールドはurlプロパティをもつ
まとめ
1. ビューの役割
2. ビューを作ってみた
3. ファイルアップロードはどうやるか
アンケート
これから先のこと
Hack-a-thon
Let’s hack!
Upcoming SlideShare
Loading in …5
×

Django learning Part2

  • Be the first to comment

Django learning Part2

  1. 1. Django基礎 IT寺子屋 紗音寺 ハンズオン #django_learning
  2. 2. おまえだれよ @jbking django-ja, pylons-ja 群馬県の東毛在住
  3. 3. タイムスケジュール • 13:00 〜 おさらい • 13:15 〜 今日の範囲について • 13:30 〜 ハンズオン • 15:00 〜 ハッカソンとフォローアップ
  4. 4. おさらい • 前回なにやったか • http://www.slideshare.net/jbking/django-learning • インストールしてますか? • Nitrous.io https://www.nitrous.io/join/hea6JcleeFc • コード • https://github.com/jbking/django_learning.git
  5. 5. 今日の範囲 • ビュー • ファイルアップロード
  6. 6. ビュー
  7. 7. ビューの役割  リクエストを受け取る  入力データのチェック  ドメインロジックを呼び出す  モデルを操作  レスポンスを返す View Model Model Form
  8. 8. 基本 リクエストを受け取る レスポンスを返す ドメインロジックを呼び出す (Postオブジェクトをupdated_atの降順で取り出す)
  9. 9. ざっと処理の流れを復習
  10. 10. クラスベースドビュー
  11. 11. クラスベースドビュー 存在理由  ビューの処理はパターン化できる  DRY  必要なコードだけ記述  テスト範囲を絞れる https://docs.djangoproject.com/en/1.5/topics/class-based-views/
  12. 12. ファイルアップロード ビューの応用
  13. 13. Django使ってるのだから ラクしましょう  モデルにフィールドを追加  DBマイグレーション。。。  モデルフォームにフィールドを追加  アップロードしたファイルを読めるようにする  MEDIA_URL, MEDIA_ROOTの設定  URLの追加  送信フォームのエンコードタイプの変更  モデルフィールドのURLをテンプレートに入れる やること
  14. 14. Django使ってるのだから ラクしましょう  アップロードされるファイルのパース  multipart  ファイル転送  保存方法の指定  ファイルのバリデーション やらないこと
  15. 15. モデルにフィールドの追加 ストレージの指定
  16. 16. アップロードしたファイル を読めるようにする settings.py urls.py
  17. 17. 送信フォームのエンコード タイプの変更 post_form.html
  18. 18. モデルフィールドのURLを テンプレートに入れる post_detail.html FileFieldから派生したフィールドはurlプロパティをもつ
  19. 19. まとめ 1. ビューの役割 2. ビューを作ってみた 3. ファイルアップロードはどうやるか
  20. 20. アンケート これから先のこと
  21. 21. Hack-a-thon Let’s hack!

×