一 flask 介绍 二

10 File Uploads

案例:
<form action="/upload" method="post">
上传<input name='uploadfile' type="file">
<Br/>
<input type="submit" value="Submit" />
</form>

@app.route('/upload',methods=['GET','POST'])
def upload():
if request.method == 'POST':
f = request.files['uploadfile']
f.save('test')
return 'uploaded'
else:
return render_template('upload.html')

报错:
flask.debughelpers.DebugFilesKeyError:
原因:
默认"application/x-www-form-urlencoded" ,不传输文件内容
方案:
form 中添加enctype="multipart/form-data"

### 11 Cookies
在response中设置cookie
@app.route('/')

@app.route('/index',methods=['GET','POST'])
def index():
user = ''
if request.method == 'POST':
user = request.form['user']
return render_template('index.html',user=user)
else:
resp = make_response(render_template('index.html',user=user))
resp.set_cookie('key','value') #设置cookie
return resp

@app.route('/login')
def login():
print(request.cookies.get('key')) #获取cookie
return render_template('login.html')

12 Redirects and Errors

redirect: 将用户请求redirect 到another endpoint
abort: abort请求,返回一个错误代码

@app.route('/')br/>@app.route('/index',methods=['GET','POST'])
def index():
user = ''
if request.method == 'POST':
user = request.form['user']
return render_template('index.html',user=user)
else:
return redirect(url_for('login')) # 重定向,直接指向abort(401)

@app.route('/login')
def login():
abort(401) #放弃请求,返回401 错误
print('key')

定制error 网页:
使用errorhandler() 装饰函数br/>@app.errorhandler(404)
def page_not_found(error):
return render_template('page_not_found.html'),404 #注意404,否则默认返回200

转载于:https://blog.51cto.com/12408798/2376551

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值