The preferred method is to use NGINX or another web server to serve static files; they’ll be able to do it more efficiently than Flask.
However, you can use send_from_directory
to send files from a directory, which can be pretty convenient in some situations:
from flask import Flask, request, send_from_directory # set the project root directory as the static folder, you can set others. 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()
Alternatively, you could use app.send_file
or app.send_static_file
, but this is highly discouraged as it can lead to security risks with user-supplied paths; send_from_directory
was designed to control those risks.
Related Posts:
- Redirecting to URL in Flask
- json.dumps vs flask.jsonify
- Internal Redirect in Flask
- Get the data received in a Flask request
- Get the data received in a Flask request
- ImportError: cannot import name
- Flask Template Not found
- Return JSON response from Flask view
- Flask ImportError: No Module Named Flask
- ModuleNotFoundError: No module named ‘MySQLdb’
- Flask ImportError: No Module Named Flask
- Flask ImportError: No Module Named Flask
- ImportError: No Module Named bs4 (BeautifulSoup)
- Flask raises TemplateNotFound error even though template file exists
- ImportError: No module named MySQLdb
- Flask example with POST
- Where do I get a SECRET_KEY for Flask?
- How can I get the named parameters from a URL using Flask?
- Flask Error: “Method Not Allowed The method is not allowed for the requested URL”
- In Flask, what is “request.args” and how is it used?
- In Flask, what is “request.args” and how is it used?
- How does ajax work with python?
- Trying to run Flask app gives “Address already in use”
- jinja2.exceptions.TemplateNotFound error [duplicate]
- python flask import error
- How do I get Flask to run on port 80?
- python-How to set global variables in Flask?
- How to get POSTed JSON in Flask?
- Flask Value error view function did not return a response [duplicate]
- Flask-framework: MVC pattern
- Create dynamic URLs in Flask with url_for()
- File “/usr/bin/pip”, line 9, in
from pip import main ImportError: cannot import name main - What to do with “Unexpected indent” in python?
- _tkinter.TclError: no display name and no $DISPLAY environment variable
- How do I merge two dictionaries in a single expression (taking union of dictionaries)?
- How do I create an empty array/matrix in NumPy?
- error: command ‘gcc’ failed with exit status 1 while installing eventlet
- Python foreach equivalent
- sklearn error ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64’)
- Limiting floats to two decimal points
- How do I install Python OpenCV through Conda?
- How to do superscripts and subscripts in Jupyter Notebook?
- How to get a random number between a float range?
- Cannot install Beautiful Soup in Anaconda Python 3.6.4 Windows 10
- How can you profile a Python script?
- How to set the current working directory?
- heroku: no default language could be detected for this app
- ‘DataFrame’ object has no attribute ‘sort’
- “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”
- What is __pycache__?
- What does “\r” do in the following script?
- How can I remove a key from a Python dictionary?
- Determine Whether Integer Is Between Two Other Integers?
- If vs. else if vs. else statements?
- Quoting backslashes in Python string literals
- AttributeError: Can only use .dt accessor with datetimelike values
- Python string class like StringBuilder in C#?
- How do I clear all variables in the middle of a Python script?
- How to tell if tensorflow is using gpu acceleration from inside python shell?
- What is the easiest way to get current GMT time in Unix timestamp format?
- xlrd.biffh.XLRDError: Excel xlsx file; not supported
- Python/Json:Expecting property name enclosed in double quotes
- Python try-else
- How to compare two dates?
- Normalize columns of pandas data frame
- Python Error: “ValueError: need more than 1 value to unpack”
- Python: can’t assign to literal
- “Initializing” variables in python?
- Difference between except: and except Exception as e:
- Python: Declare as integer and character
- How to install pytorch in windows?
- Python TypeError must be str not int
- “Unicode Error “unicodeescape” codec can’t decode bytes… Cannot open text files in Python 3
- Python socket.error: [Errno 111] Connection refused
- Windows- Pyinstaller Error “failed to execute script ” When App Clicked
- Python: What is the correct MIME type for attaching html file to email
- Linear regression with matplotlib / numpy
- Solving “500: Internal Server Error, nbconvert failed: xelatex not found in PATH”
- Using Look Up Tables in Python
- Parallel Python: What is a callback?
- Python Add to dictionary loop
- how to exit a python script in an if statement
- How to add column to numpy array
- OpenCV NoneType object has no attribute shape
- AttributeError: ‘str’ object has no attribute ‘items’
- ImportError: No module named Crypto.Cipher
- Convert string to variable name in python
- Can not click on a Element: ElementClickInterceptedException in Splinter / Selenium
- How to split elements of a list?
- How can I find script’s directory?
- Porting Perl to Python
- Find object in list that has attribute equal to some value (that meets any condition)
- What is the purpose of the single underscore “_” variable in Python?
- Python Remove last char from string and return it
- Base language of Python
- How do operator.itemgetter() and sort() work?
- python ValueError: invalid literal for float()
- How to convert .sav file into csv file
- Anaconda “failed to create process”
- OpenMP and Python