django learning part2
TRANSCRIPT
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/hea6JcleeFc
• コード• https://github.com/jbking/django_learning.git
今日の範囲
• ビュー• ファイルアップロード
ビュー
ビューの役割
リクエストを受け取る入力データのチェック
ドメインロジックを呼び出すモデルを操作
レスポンスを返す
View
Form
Model
Model Form
基本
リクエストを受け取る
レスポンスを返す
ドメインロジックを呼び出す(Postオブジェクトを updated_atの降順で取り出す )
ざっと処理の流れを復習
クラスベースドビュー
クラスベースドビュー存在理由
ビューの処理はパターン化できる DRY
必要なコードだけ記述テスト範囲を絞れる
https://docs.djangoproject.com/en/1.5/topics/class-based-views/
ファイルアップロードビューの応用
Django使ってるのだからラクしましょう
モデルにフィールドを追加 DBマイグレーション。。。モデルフォームにフィールドを追加
アップロードしたファイルを読めるようにする MEDIA_URL, MEDIA_ROOTの設定 URLの追加
送信フォームのエンコードタイプの変更
モデルフィールドの URLをテンプレートに入れる
やること
Django使ってるのだからラクしましょう
アップロードされるファイルのパース multipart
ファイル転送
保存方法の指定
ファイルのバリデーション
やらないこと
モデルにフィールドの追加ストレージの指定
アップロードしたファイルを読めるようにする
settings.py
urls.py
送信フォームのエンコードタイプの変更
post_form.html
モデルフィールドの URLをテンプレートに入れる
post_detail.html
FileFieldから派生したフィールドは urlプロパティをもつ
まとめ
1. ビューの役割
2. ビューを作ってみた
3. ファイルアップロードはどうやるか
アンケートこれから先のこと
Hack-a-thonLet’s hack!