路由: @app.route('/') def index(): return '<h1>hello</h1>'
<int:id>
@app.route('/user/<name>') def user(name): return '<h1>hello</h1>'
-------------------------完整的程序------------------------------- from flask import Flask app = Flask(name) @app.route('/') def index(): return '<h1>Hello World!</h1>' if name == 'main': app.run(debug=True)
request.headers.get('User-Agent') 获取request对象 from flask import request @app.route('/') def index(): user_agent = request.headers.get('User-Agent') return '<p>Your browser is %s</p>' % user_agent // from flask import session from flask import current_app
钩子: before_first_request before_request after_request teardown_request
返回400状态码
@app.route('/') def index(): return '<h1>Bad Request</h1>', 400
返回response
from flask import make_response @app.route('/') def index(): response = make_response('<h1>This document carries a cookie!</h1>') response.set_cookie('answer', '42') return response
make_response
response
重定向
from flask import redirect @app.route('/') def index(): return redirect('http://www.baidu.com')
返回404
from flask import abort @app.route('/user/<id>') def get_user(id): user = load_user(id) if not user: abort(404) return '<h1>Hello, %s</h1>' % user.name
用flask-script 启动
from flask.ext.script import Manager manager = Manager(app)
...
if name == 'main': manager.run() 启动:python hello.py runserver --host 0.0.0.0 参数:-t host,-p port,--threaded,--processes xx,-d --no-debug
自定义错误页面 @app.errorhandler(404) def page_not_found(e): return render_template('404.html'),404 @app.errorhandler(500) def internal_server_error(e): return render_template('500.html'), 500
动态链接:
url_for('user', name='john', _external=True) url_for('index', page=2) url_for('static', filename='css/styles.css', _external=True)
base.html 定义收藏夹图标
{% block head %} {{ super() }} <link rel="shortcut icon" href="{{ url_for('static', filename = 'favicon.ico') }}" type="image/x-icon"> <link rel="icon" href="{{ url_for('static', filename = 'favicon.ico') }}" type="image/x-icon"> {% endblock %}