Flask static files getting 404 Flask static files getting 404 flask flask

Flask static files getting 404


Set _static_folder location against Flask.

app = Flask(__name__)app._static_folder = <path to to your static directory>


I've just had the same problem and eventually solved it like that:

https://stackoverflow.com/a/29521067/303114

Edit:Main parts that i did to solve it -

Project Structure:

enter image description here

server.py:

from server.AppStarter import AppStarterimport osstatic_folder_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), "client")app = AppStarter()app.register_routes_to_resources(static_folder_root)app.run(__name__)

AppStarter.py:

from flask import Flask, send_from_directoryfrom flask_restful import Api, Resourcefrom server.ApiResources.TodoList import TodoListfrom server.ApiResources.Todo import Todoclass AppStarter(Resource):    def __init__(self):        self._static_files_root_folder_path = ''  # Default is current folder        self._app = Flask(__name__)  # , static_folder='client', static_url_path='')        self._api = Api(self._app)    def _register_static_server(self, static_files_root_folder_path):        self._static_files_root_folder_path = static_files_root_folder_path        self._app.add_url_rule('/<path:file_relative_path_to_root>', 'serve_page', self._serve_page, methods=['GET'])        self._app.add_url_rule('/', 'index', self._goto_index, methods=['GET'])    def register_routes_to_resources(self, static_files_root_folder_path):        self._register_static_server(static_files_root_folder_path)        self._api.add_resource(TodoList, '/todos')        self._api.add_resource(Todo, '/todos/<todo_id>')    def _goto_index(self):        return self._serve_page("index.html")    def _serve_page(self, file_relative_path_to_root):        return send_from_directory(self._static_files_root_folder_path, file_relative_path_to_root)    def run(self, module_name):        if module_name == '__main__':            self._app.run(debug=True)

i'm just trying this stuff out for the first time so you can check out my project progress on my repo in github:https://github.com/danfromisrael/TodoApp-Flask-Angular


I solved mine by adding the following;

app._static_folder = ''

below

app = Flask(__name__)

and you get

app = Flask(__name__)app._static_folder = ''