伸缩自如的Flask [day14] 档案下载 及 其他传值方法

从官网的攻略介绍来看,因为安全考量,所以平常都应该使用send_from_directory(),而不是send_file()。

下面可以看一下程序码app.py:

from flask import Flask,render_template,jsonify,send_from_directory

app = Flask(__name__)
@app.route('/')
def index():
    filename='hello.txt'
    return send_from_directory('data', filename, as_attachment=True)

if __name__ == "__main__":
    app.run(debug=True,threaded=True,port=5566)

在app.py旁边创立资料夹data,以及在data资料夹里面放入hello.txt。
执行到达根路由,可以发现浏览器已经下载了档案。

  • as_attachment:这个参数是控制让浏览器进行下载还是将内容呈现在网页。

url 传值

我们可以由路由路径来接收参数:

@app.route('/download/<filename>')
def send_html(filename):

也可以将接收参数直接设定型态:

@app.route('/download/<int:number>')
def hello(number):

可以支援的型态有:

  • str
  • int
  • float
  • path

query 传值

一般我们可能看到的网址可能长成这样:

https://www.youtube.com/watch?v=m2z8Caoww44

这个网址就用query来传了参数v为m2z8Caoww44。

而从Flask来获取参数的方法:

request.args.get('v')


<<:  战略管理(strategic management)

>>:  疫情学习用电脑麦克风

Day30-TypeScript(TS)的模组(Modules) Part2

今天是最後一天了, 但该讲的还是要讲完, 所以我们就接续上一篇的TypeScript(TS)的模组(...

第一天:为什麽该学好 Gradle?

开始接触 Gradle 的原因 身为一位 Kotlin 开发者,每天需要接触的就是 JVM 生态系的...

React Router

首先要安装 react router dom: npm install react-router-d...

AI ninja project [day 13] 回归

这应该也是学习深度学习时的基础课程, 不确定跟图像分类比,哪一个会先学到, 但是在接触深度学习框架时...

Day13 - 用 canvas 复刻 小画家 选择剪下移动

说明 在选择剪下时,我们可以建立一个新的 canvas来建立我们所剪下的内容 /** * 滑鼠点下画...