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.
Flask入門
@aoshiman
2013-07-06 Shizuoka.py #2
13年7月6日土曜日
自己紹介
• 青島(@aoshiman)
• 葵区在住、清水区の食品会社に勤務(社内SE)
• 経理畑(実務10年)からのジョブチェンジ。ひょんなことから情
シスの一員に
• 会社ではVBA、プライベートでPython(2008年頃から浅く浅
...
Flaskとは
• PythonのWeb Application Frameworkのひ
とつ
• オーストリア人のArmin Ronacherが開発
13年7月6日土曜日
• マイクロフレームワークに属する
• WSGI(ウィスキー Web Server Gateway Interface)サポ
ート
• Werkzeug(ヴェルクツォイグ)とJinja2(ジンジャ)がベ
ース
• デコレータを多用(可能)※Fl...
• 似たようなフレームワークにBottleというのがある(http://bottlepy.org)
• 軽量(1Fileフレームワーク)、書き方などはFlaskライク
Flaskに近いフレームワーク
作成して実際に動かしているもの
• http...
• Python2.xで動作。3(3.3)は鋭意対応中でしたが ver. 0.10より正式サポート
Flaskの動作環境
個人的にはFlaskが3をサポートしたらPython3をや
り始めようと思っていたので頑張ります
13年7月6日土曜日
どのように書くのか - Hello Flask編 -
# -*- coding: utf-8 -*-
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index...
どのように書くのか - サブページ編 -
# -*- coding: utf-8 -*-
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
re...
どのように書くのか - 可変ページ編 -
@app.route("/sub")
def sub():
return "Hello SubPage"
@app.route("/user/<username>")
def get_user(user...
これらを踏まえて20行くらいの小さ
なアプリを作ってみる
13年7月6日土曜日
どんなもの?
13年7月6日土曜日
事実婚 支援サイト
週刊文春 不買運動支援サイト
13年7月6日土曜日
サーバの稼働状況をリアルタイムに表
示させるWebアプリ
13年7月6日土曜日
凄そう!? そうでもない
13年7月6日土曜日
• http://example.com/infoにアクセスしたらtopコマ
ンド実行して結果をブラウザに表示
• なんちゃってリアルタイムの実現にmata http-
equiv= refresh を利用。デフォルトで3秒、/info?
re...
今回作ったもの
https://bitbucket.org/aoshiman/
top-info
ここをこうしたら良いよとかございましたら是非教
えて下さい
13年7月6日土曜日
• 日本語解説は少ない((個人的見解ですが)少ない日本語解説は当たりが多い)
Flaskを学んでいく上での注意点
私の場合は
• Flask公式ドキュメント(MailingListアーカイブ含む)を活用
• stackoverflowのFlask...
最後に
皆さんの周りに「Pythonでプログラミングを勉強し始めた
いんだけど・・」という変わった素晴らしい方がいらっしゃ
ったら是非下記本をオススメしてみて下さい
個人的には(ビギナー向けに)かなりオススメです
この本の後、一般的に勧められて...
まとめ
Flaskは(日本語情報等に)苦労するかもしれな
いが、やり続ければ、きっと楽しく、やめられ
ないフレームワークになると思います
13年7月6日土曜日
Upcoming SlideShare
Loading in …5
×

Flask入門

34,248 views

Published on

Published in: Technology
  • Be the first to comment

Flask入門

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

×