স্ট্যাটিক ফাইলগুলি প্রেরণের আরেকটি উপায় হ'ল এর মতো ক্যাচ-অল নিয়মটি ব্যবহার করা:
@app.route('/<path:path>')
def catch_all(path):
if not app.debug:
flask.abort(404)
try:
f = open(path)
except IOError, e:
flask.abort(404)
return
return f.read()
বিকাশকালে সেট-আপটি ছোট করার চেষ্টা করার জন্য আমি এটি ব্যবহার করি। আমি http://flask.pocoo.org/snippets/57/ থেকে ধারণা পেয়েছি
আরও, আমি আমার স্ট্যান্ডেলোন মেশিনে ফ্লাস্ক ব্যবহার করে বিকাশ করছি তবে প্রোডাকশন সার্ভারে অ্যাপাচি দিয়ে স্থাপন করছি। আমি ব্যবহার করি:
file_suffix_to_mimetype = {
'.css': 'text/css',
'.jpg': 'image/jpeg',
'.html': 'text/html',
'.ico': 'image/x-icon',
'.png': 'image/png',
'.js': 'application/javascript'
}
def static_file(path):
try:
f = open(path)
except IOError, e:
flask.abort(404)
return
root, ext = os.path.splitext(path)
if ext in file_suffix_to_mimetype:
return flask.Response(f.read(), mimetype=file_suffix_to_mimetype[ext])
return f.read()
[...]
if __name__ == '__main__':
parser = optparse.OptionParser()
parser.add_option('-d', '--debug', dest='debug', default=False,
help='turn on Flask debugging', action='store_true')
options, args = parser.parse_args()
if options.debug:
app.debug = True
app.add_url_rule('/<path:path>', 'static_file', static_file)
app.run()