================ Flask quickstart ================ :参照: `クイックスタート — flask-docs-ja 0.10-dev documentation `_ A Minimal Application: OK Debug Mode =========== :: app.debug = True app.run() or:: app.run(debug=True) Routing ======= :: @app.route('/') def index(): return 'Index Page' @app.route('/hello') def hello(): return 'Hello World' Variable Rules ============== :: @app.route('/user/') def show_user_profile(username): return 'User %s' % username @app.route('/post/') def show_post(post_id): return 'Post %d' % post_id デフォルトでは以下の型の指定が可能 :int: 整数 :float: 小数 :path: URLパス URL Building ============ @app.routeで追加したルートはurl_forでURLを取得することができる。:: >>> from flask import Flask, url_for >>> app = Flask(__name__) >>> @app.route('/') ... def index(): pass ... >>> @app.route('/login') ... def login(): pass ... >>> @app.route('/user/') ... def profile(username): pass ... >>> with app.test_request_context(): ... print url_for('index') ... print url_for('login') ... print url_for('login', next='/') ... print url_for('profile', username='John Doe') ... / /login /login?next=/ /user/John%20Doe HTTP Methods ============ :: @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': do_the_login() else: show_the_login_form() * GET, HEAD, POST, PUT, DELETE, OPTIONS Static Files ============ :: url_for('static', filename='style.css') Rendering Templates ==================== サンプルはFlaskrでOK The Request Object ================== サンプルはFlaskrでOK File Uploads ============ form側を enctype="multipart/form-data"とした上で、 request.files['name']でアクセスすることができる。:: from flask import request from werkzeug ipmort secure_filename @app.route('/upload', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': f = request.files['the_file'] f.save('/var/www/uploads/' + secure_filename(f.filename)) Cookies ========= get:: request.cookies.get('username') set:: from flask import make_response @app.route('/') def index(): resp = make_response(render_template(...)) resp.set_cookie('username', 'the username') return resp Redirect and Errors =================== :: from flask import abort, redirect, url_for, render_template @app.route('/') def index(): return redirect(url_for('login')) @app.route('/login') def login(): abort(401) this_is_never_executed() @app.errorhandler(404) def page_not_found(error): return render_template('page_not_found.html'), 404 Message Flashing ================== サンプルはFlaskrでOK Logging ======== のちほど Hooking in WSGI Middlewares =========================== のちほど Deploying to a Web Server ========================= のちほど