Flask返回静态文件

可以使用flask的send_from_directory方法来发送静态文件,相当简单。

send_from_directory使用示例

from flask import Flask, request, send_from_directory
# 设置项目的根目录作为静态文件的文件夹。你可以根据具体使用改变
app = Flask(__name__, static_url_path='')
@app.route('/js/<path:path>')
def send_js(path):
return send_from_directory('js', path)
if __name__ == "__main__":
app.run()

需要注意的是:千万不要直接在send_file或send_static_file使用用户提供的路径。这样会有安全问题。

send_static_file使用示例

from flask import Flask, request
# 设置项目的根目录作为静态文件的文件夹。你可以根据具体使用改变
app = Flask(__name__, static_url_path='')
@app.route('/')
def root():
return app.send_static_file('index.html')

如果可以,建议使用ngix,apache httpd等web服务器来响应静态文件。它们相对直接使用flask性能要高。

版权声明:著作权归作者所有。

相关推荐

使用Python下载文件(大文件,重定向文件)

在网络上很多文件是使用http的方式提供下载。使用python做爬虫,爬文件是其中一个目标。Python有很多包可以做http请求,如下:python内置的包: urllib,urllib2和urllib3requests包,这是一个在urllib3上扩展的包grequests,扩展requests包,用来处理异步的http功能。这里使用requests来做文件下载,主要提供三种示例:小文件的爬取

Java防止非静态内部类内存泄漏

内存泄漏一个不会被使用的对象,因为另一个正在使用的对象持有该对象的引用,导致它不能正常被回收,而停留在堆内存中,从而导致内存泄漏。最坏的情况下,由于大量的内存泄漏,最终导致jvm的内存耗尽,致使程序奔溃。也可能会导致内存空间不足,jvm出现频繁的GC。代码示例import java.util.ArrayList;class OuterClass{ private int[] data; p

Flask配置方式

主要有三种方式处理flask的配置。在主脚本配置做一些小应用可以直接在flask的主脚本里添加配置。from flask import Flaskapp = Flask(__name__)app.config['SECRET_KEY'] = 'some secret words'app.config['DEBUG'] = Trueapp.config['ITEMS_PER_PAGE'] = 10单

Java内部类和静态内部类的区别

Java的内部类根据是否使用static声明分为:静态内部类和非静态内部类,其中非静态内部类一般直接称为内部类。内部类内部类声明示例public class OuterClass {     ...     public static class InnerC