flask html js css img reference 404 error
You can register additional routes to serve files from your static folder:
from flask import app, safe_join, send_from_directory@app.route('/<any(css, img, js, sound):folder>/<path:filename>')def toplevel_static(folder, filename): filename = safe_join(folder, filename) cache_timeout = app.get_send_file_max_age(filename) return send_from_directory(app.static_folder, filename, cache_timeout=cache_timeout)@app.route('/<path:htmlfile>.html')def toplevel_static(htmlfile): filename = htmlfile + '.html' cache_timeout = app.get_send_file_max_age(filename) return send_from_directory(app.template_folder, filename, cache_timeout=cache_timeout)
This replicates what the static
view does, but for routes starting with /css/
, /img/
, /js/
or /sound/
instead. HTML files are loaded from your template folder instead.