Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
KN
Uploaded by
Kimihiro N
9,710 views
Python勉強会資料(MessageBoard作成)
内輪で開催したPython勉強会の資料です。 AppEngine上でDjangoを使ったサンプルとしてMessageBoardを作成してみました。
Read more
2
Save
Share
Embed
Embed presentation
1
/ 21
2
/ 21
3
/ 21
4
/ 21
5
/ 21
6
/ 21
7
/ 21
8
/ 21
9
/ 21
10
/ 21
11
/ 21
12
/ 21
13
/ 21
14
/ 21
15
/ 21
16
/ 21
17
/ 21
18
/ 21
19
/ 21
20
/ 21
21
/ 21
More Related Content
PDF
Django最速デバッグ指南 PyConAPAC 2013
by
hirokiky
PDF
グンマー:未開の地 | 高機能2chまとめアンテナ
by
caput52
PDF
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
by
Shinya Okano
PDF
Python札幌 2012/06/17
by
Shinya Okano
PDF
kay-jpmobile
by
Tasuku Suenaga
PPTX
hello waf, hello phoenix
by
Tsunenori Oohara
PDF
軽量のススメ
by
hirokiky
PDF
Biblnk
by
繁史 河久保
Django最速デバッグ指南 PyConAPAC 2013
by
hirokiky
グンマー:未開の地 | 高機能2chまとめアンテナ
by
caput52
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
by
Shinya Okano
Python札幌 2012/06/17
by
Shinya Okano
kay-jpmobile
by
Tasuku Suenaga
hello waf, hello phoenix
by
Tsunenori Oohara
軽量のススメ
by
hirokiky
Biblnk
by
繁史 河久保
Viewers also liked
PDF
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
by
predictori
PPTX
データ分析スクリプトのツール化入門 - PyConJP 2016
by
Akinori Kohno
PDF
Pycon2014 django performance
by
hirokiky
PDF
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
by
Shinichi Nakagawa
PDF
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
by
Shinichi Nakagawa
PDF
ゲームインフラとGoogle Cloud Platformと酒!
by
Hasegawa Yusuke
PPTX
Python札幌201406
by
Shinya Okano
PDF
Django 1.9
by
OMEGA (@equal_001)
PPTX
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
by
Satoshi Nagayasu
PDF
Django から各種チャットツールに通知するライブラリを作った話
by
Yusuke Miyazaki
PDF
Djangoフレームワークの紹介 OSC2015北海道
by
Shinya Okano
PPTX
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
by
Takayuki Shimizukawa
ODP
Djangoアプリの実践的設計手法
by
Ian Lewis
PDF
価値を届ける技術 #bpstudy 96
by
hirokiky
PDF
AWS Lambda を使ってみた話 at づや会Vol.3
by
ko ty
PDF
Webフレームワークパネル(Django) at PyConJP 2012
by
makoto tsuyuki
PPTX
Django learning Part2
by
Yusuke Muraoka
PDF
Gunma.web #24 MySQL HA
by
Yusuke Muraoka
POTX
素振りのススメ at Python入門者の集い
by
Takayuki Shimizukawa
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
by
predictori
データ分析スクリプトのツール化入門 - PyConJP 2016
by
Akinori Kohno
Pycon2014 django performance
by
hirokiky
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
by
Shinichi Nakagawa
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
by
Shinichi Nakagawa
ゲームインフラとGoogle Cloud Platformと酒!
by
Hasegawa Yusuke
Python札幌201406
by
Shinya Okano
Django 1.9
by
OMEGA (@equal_001)
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
by
Satoshi Nagayasu
Django から各種チャットツールに通知するライブラリを作った話
by
Yusuke Miyazaki
Djangoフレームワークの紹介 OSC2015北海道
by
Shinya Okano
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
by
Takayuki Shimizukawa
Djangoアプリの実践的設計手法
by
Ian Lewis
価値を届ける技術 #bpstudy 96
by
hirokiky
AWS Lambda を使ってみた話 at づや会Vol.3
by
ko ty
Webフレームワークパネル(Django) at PyConJP 2012
by
makoto tsuyuki
Django learning Part2
by
Yusuke Muraoka
Gunma.web #24 MySQL HA
by
Yusuke Muraoka
素振りのススメ at Python入門者の集い
by
Takayuki Shimizukawa
Similar to Python勉強会資料(MessageBoard作成)
PDF
Djangoのエントリポイントとアプリケーションの仕組み
by
Shinya Okano
PDF
Djangoフレームワークの紹介
by
Shinya Okano
PPTX
DjangoでさくっとWeb アプリケーション開発をする話
by
Nakazawa Yuichi
PDF
Djangoフレームワークの紹介
by
Shinya Okano
PDF
汎用apiサーバの構築
by
Hidetoshi Mori
ODP
Django 1.5 における効果的な MTV 設計 & ネイティブApp
by
Yikei Lu
PPTX
Djangoのチュートリアル
by
sakihohoribe
PPTX
Djangoとは
by
Gomamatsu
PDF
Python東海GAEやってみた
by
Mori Shingo
PDF
Djangoのススメ
by
Alisue Lambda
PDF
Teclab3
by
Eikichi Yamaguchi
KEY
How to django at first
by
Maito Kuwahara
PDF
appengine ja night #25 Google App Engine for PHP
by
Ryo Yamasaki
PDF
使えるDjango1.4
by
hirokiky
PDF
Djangoとweb2pyをapacheに組込む
by
2bo 2bo
Djangoのエントリポイントとアプリケーションの仕組み
by
Shinya Okano
Djangoフレームワークの紹介
by
Shinya Okano
DjangoでさくっとWeb アプリケーション開発をする話
by
Nakazawa Yuichi
Djangoフレームワークの紹介
by
Shinya Okano
汎用apiサーバの構築
by
Hidetoshi Mori
Django 1.5 における効果的な MTV 設計 & ネイティブApp
by
Yikei Lu
Djangoのチュートリアル
by
sakihohoribe
Djangoとは
by
Gomamatsu
Python東海GAEやってみた
by
Mori Shingo
Djangoのススメ
by
Alisue Lambda
Teclab3
by
Eikichi Yamaguchi
How to django at first
by
Maito Kuwahara
appengine ja night #25 Google App Engine for PHP
by
Ryo Yamasaki
使えるDjango1.4
by
hirokiky
Djangoとweb2pyをapacheに組込む
by
2bo 2bo
Python勉強会資料(MessageBoard作成)
1.
Django on App
Engine (Message Board)
2.
メッセージボード ログインするとメッセージを書き込める シンプルなWebアプリ
Demo: http://msg.codeflask.appspot.com/
3.
Webアプリ設計 フレームワークの基礎
Djangoテンプレート AppEngineのDB(BigTable(NoSQL)) ページ管理 フォームバリデーション Google OpenID
4.
メッセージ(タイトル、本文)を投稿して見れ るようにする 投稿にはログインが必要
過去のメッセージを遡って見れる 削除・再編集とかはとりあえず付けない ID検索とかもつけない
5.
トップページ: 過去のメッセージが新しい順で3件表示
3件以外はnext, prevボタンでページ移動 メッセージはフル(タイトル・本文・書いた人・日時) で表示 書き込みへのリンクを付ける 書き込みページ 要ログイン タイトル・本文を入力して送信 名前はログインネームから自動で 書き終わるとトップへリダイレクト
6.
(?) IndexView BigTable WriteView • メッセージ取得 • ページ分割 •
レンダリング • リクエスト受け取り • フォーム表示 • フォーム検証 • メッセージ書き込み put fetch
7.
DB なし! NoSQLではテーブルという概念がない PHPの辞書とかに似た形式でデータ保存
柔軟だけど、こういったアプリでは構造化さ れてないので使いづらい → データモデルの定義
8.
Db.Modelを継承したクラスを定義 1インスタンス
≒ 1レコード ユーザー名、タイトル、本文、日付 を定義
9.
URL / トップページ(1ページ目のメッセージ表示)
/{$num} $numページ目のメッセージ表示 /write/ 書き込みフォーム表示
10.
まず表示側(IndexView)から やること:
DBから取得 ページに分割 表示
11.
DB MessageModelにクラスメソッドを追加 日付順で逆ソート
SQLを書く必要なし
12.
3件ごとにページに分けるにはどうすればい いか 3件だけ取得
→ × ページ分割には 前にページが有るか 次にページが有るか 次のページは何ページ目か などといった情報が必要 自分で書くのは面倒臭い →Paginatorの出番
13.
Paginator リストなどを渡すと自動でページ分割し 必要な情報などもセットで提供してくれる p
= Paginator(lists, page_count) p.count #=> 総ページ数 page1 = p.page(1) for item in page1: Print item page1.has_next() #=>次のページが有るか page1.next_page_number() page1.start_index() …
14.
View HTML Source
テンプレートの継承や部分置換などができる 強力なタグ・フィルターが用意されてる 自作タグ・フィルターなども可
15.
WriteView やること OpenID(Google)
フォーム表示 フォーム検証(バリデーション) メッセージ保存
16.
OpenID(Google) user =
users.get_current_user() if not user: return HttpResponseRedirect( users.create_login_url(request.path) ) これだけ。 ログインユーザーを取得 取得できなければログイン画面を作りそこにリダイレクト Create_login_userの引数はログイン後戻ってくる場所。 request.path とすることで今のパスに戻ってこれる
17.
formModel どんなフォームなのかを定義してあげると、 Djangoが勝手にいろいろやってくれる こんなかんじで定義
18.
同じWriteViewで、GETとPOSTの違いによっ て挙動を変える GET:
フォームを表示 POST: DB書き込み。 入力エラーならエラー文付きで再度フォーム表示 form = MessageForm() これでフォーム定義に従ったフォームが作ら れる(便利)
19.
( ) form
= MessageForm(request.POST) if form.is_valid(): # 内容OK フォームの定義を工夫するともっと複雑な チェック可能
20.
https://github.com/pistatium/appengine_bo ard
21.
このメッセージボードの機能拡張 メッセージ削除・再編集
同じUser名のメッセージ抽出