python flask实战_python flask web开发实战

路由:

@app.route('/')

def index():

return '

hello

'

@app.route('/user/')

def user(name):

return '

hello

'

-------------------------完整的程序-------------------------------

from flask import Flask

app = Flask(name)

@app.route('/')

def index():

return '

Hello World!

'

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 '

Your browser is %s

' % 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 '

Bad Request

', 400

返回response

from flask import make_response

@app.route('/')

def index():

response = make_response('

This document carries a cookie!

')

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/')

def get_user(id):

user = load_user(id)

if not user:

abort(404)

return '

Hello, %s

' % 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() }}

type="image/x-icon">

type="image/x-icon">

{% endblock %}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值