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 learning Part2

  • Login to see the comments

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!

×