返回响应json数据
有2种 json.dumps({‘token’ : ‘laoshi’} ; json.dumps(data)
方式一 直接在返回的后面添加响应的数据比如{‘token’:'laoshi},404
方式二 使用response 设置
response = make_response(‘index’)
response .status_code = 404 # status_code 返回的是状态码
response.headers[‘name’]=‘laoli’ # headers 返回的是请求头里的数据
return response
返回响应jinja2模板
render_tenplate返回模板 在flask中直接使用render_template返回模板
使用格式: return render_template(‘index.html’,name=‘laowang’)
def index():
data = {
‘name’:‘lao’,
‘age’:19}
return render_template(‘index.htm’.data=data)
#额外扩展
cookie使用 作用:使用cookie做状态保持
使用response 设置cookie
response = make_response(‘index’)
response.set_cooke(key,value,max_age) manx_age 有效期
return response
获取cookie
name = request.cookeis.get(‘name’)
删除
response .delete_cookies(‘name’)
原理 :设置响应头Set-Cookie,浏览器会自动保持cookie
删除原理:设置一个过期的时间
session使用
在flask中获取和设置session数据,都是session对象
使用方式:
设置secret_key
app.secret_key = ‘aaaaaaa’
app.config[SECRET_KEY] = ‘aaaaa’
设置session
session[key]=value
获取session
key = session.get(‘key’)
在flask中,session的数据存放在浏览器中,减轻服务器的压力
设置secret_key
app.secret_key = ‘aaaa’
@app.route(’/set_session’)
def set_session():
# 设置session
session[‘name’] = ‘laowagng’
return ‘set_session’
def get_session():
# 获取session
name = session.get(‘name’)
return ‘get_session {}’.format(name)
if name == ‘main’:
app.run(port=5026)
异常捕获处理
errorhandler 捕获异常处理
统一返回404 不存在的页面
使用:
@app.errorhandler(404)
def func_404(e):
return ‘sdsad’,404
abort的使用
作用抛出异常http的状态码
使用方式:
abort(http错误状态码)
name =request.args.get(‘name’)
if name =‘bak’
abort(404, ‘bak’)