Search code examples
pythonflaskeve

Serve static files with Eve


I am running Flask and Eve on localhost at a same time. The Flask app serves static files and makes requests to the Eve app to get some data. I want to run Eve only, without a separate Flask app. How can I serve static files with Eve?


Solution

  • A better approach will be to prefix the /api for all REST APIs. This can be done by adding URL_PREFIX="api" in settings.py.

    By doing this whenever there is request to /, Eve(Flask) will not return the resource catalog instead returns the page as given in run.py.

    To serve static content add route decorators accordingly in run.py,

    @app.route('/')
    def index():
        return app.send_static_file('index.html')
    
    app.run(host="0.0.0.0", debug=True)