Your SlideShare is downloading. ×
0
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Flask入門
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Flask入門

5,342

Published on

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,342
On Slideshare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
9
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Flask入門 @aoshiman 2013-07-06 Shizuoka.py #2 13年7月6日土曜日
  • 2. 自己紹介 • 青島(@aoshiman) • 葵区在住、清水区の食品会社に勤務(社内SE) • 経理畑(実務10年)からのジョブチェンジ。ひょんなことから情 シスの一員に • 会社ではVBA、プライベートでPython(2008年頃から浅く浅 く) • Python製TwitterBotを3つ管理しています(@cookpad_recipe など)機会があればいつかご紹介したいです 13年7月6日土曜日
  • 3. Flaskとは • PythonのWeb Application Frameworkのひ とつ • オーストリア人のArmin Ronacherが開発 13年7月6日土曜日
  • 4. • マイクロフレームワークに属する • WSGI(ウィスキー Web Server Gateway Interface)サポ ート • Werkzeug(ヴェルクツォイグ)とJinja2(ジンジャ)がベ ース • デコレータを多用(可能)※Flask(もっと言えばPython) に限ったことではないが... Flaskの特徴 13年7月6日土曜日
  • 5. • 似たようなフレームワークにBottleというのがある(http://bottlepy.org) • 軽量(1Fileフレームワーク)、書き方などはFlaskライク Flaskに近いフレームワーク 作成して実際に動かしているもの • https://bitbucket.org/aoshiman/webhook • bitbucketにあるリモートリポジトリへgit pushすると同時に変更を本 番環境へ反映させるWebアプリ。bitbucketのwebhook(通知POST) を待ち受け、通知があればgit pullさせている。 13年7月6日土曜日
  • 6. • Python2.xで動作。3(3.3)は鋭意対応中でしたが ver. 0.10より正式サポート Flaskの動作環境 個人的にはFlaskが3をサポートしたらPython3をや り始めようと思っていたので頑張ります 13年7月6日土曜日
  • 7. どのように書くのか - Hello Flask編 - # -*- coding: utf-8 -*- from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "Hello Flask" if __name__ == '__main__': app.run(debug=True) flaskモジュールからFlaskクラスをイン ポートする Flaskクラスのインスタンスを作りapp へ代入 Hello Flaskを表示させるindex関数を routeデコレータでurlマッピング デバッグモードで実行 (127.0.0.1:5000で待受) 13年7月6日土曜日
  • 8. どのように書くのか - サブページ編 - # -*- coding: utf-8 -*- from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "Hello Flask" @app.route("/sub") def sub(): return "Hello SubPage" if __name__ == '__main__': app.run(debug=True) デバッグモードで実行 (127.0.0.1:5000で待受) Hello SubPageを表示させるsub関数 をrouteデコレータでurlマッピング (http://127.0.0.1:5000/sub) 13年7月6日土曜日
  • 9. どのように書くのか - 可変ページ編 - @app.route("/sub") def sub(): return "Hello SubPage" @app.route("/user/<username>") def get_user(username): return "Welcome %s's Page" % username if __name__ == '__main__': app.run(debug=True) usernameを表示させるget_user関数 をrouteデコレータでurlマッピング (http://127.0.0.1:5000/user/ username) 13年7月6日土曜日
  • 10. これらを踏まえて20行くらいの小さ なアプリを作ってみる 13年7月6日土曜日
  • 11. どんなもの? 13年7月6日土曜日
  • 12. 事実婚 支援サイト 週刊文春 不買運動支援サイト 13年7月6日土曜日
  • 13. サーバの稼働状況をリアルタイムに表 示させるWebアプリ 13年7月6日土曜日
  • 14. 凄そう!? そうでもない 13年7月6日土曜日
  • 15. • http://example.com/infoにアクセスしたらtopコマ ンド実行して結果をブラウザに表示 • なんちゃってリアルタイムの実現にmata http- equiv= refresh を利用。デフォルトで3秒、/info? refresh=n(秒)で間隔を調整可能 • http://example.com/にアクセスしたら/infoへリダ イレクト topコマンドを叩いて結果をブラウザに流し こむWebアプリ 13年7月6日土曜日
  • 16. 今回作ったもの https://bitbucket.org/aoshiman/ top-info ここをこうしたら良いよとかございましたら是非教 えて下さい 13年7月6日土曜日
  • 17. • 日本語解説は少ない((個人的見解ですが)少ない日本語解説は当たりが多い) Flaskを学んでいく上での注意点 私の場合は • Flask公式ドキュメント(MailingListアーカイブ含む)を活用 • stackoverflowのFlaskタグを追いかける • Githubのコード検索←最近はこれを重視 結構苦労するがBottleよりはマシ 13年7月6日土曜日
  • 18. 最後に 皆さんの周りに「Pythonでプログラミングを勉強し始めた いんだけど・・」という変わった素晴らしい方がいらっしゃ ったら是非下記本をオススメしてみて下さい 個人的には(ビギナー向けに)かなりオススメです この本の後、一般的に勧められている本にステップ アップするのがよいかと考えます 13年7月6日土曜日
  • 19. まとめ Flaskは(日本語情報等に)苦労するかもしれな いが、やり続ければ、きっと楽しく、やめられ ないフレームワークになると思います 13年7月6日土曜日

×