2014-12-01 3 views
3

Кажется, что мои статические файлы не обслуживаются должным образом. Это то, что это выглядит как прямо сейчас:Настройка статического пути папки в Flask

myApp 
    __init__.py 
    static 
     img 
     js 
     bootstrap.min.js 
     etc. 

Это то, что мое приложение конфигурации в моем инициализации .py выглядит следующим образом:

app = Flask(__name__, static_url_path="", static_folder="static") 

Это ошибка:

127.0.0.1 - - [01/Dec/2014 13:12:01] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 - 

Что касается маршрутизации URL-адресов, там нет проблем, локальных/домашних маршрутов на дом, локальных/контактных маршрутов для контакта и т. Д. Но статические файлы не найдены :(Я не хватает что нибудь?

Примечание: Я хостинг это на моем Mac, чисто локальный хост

Это мой INIT .py ГЛАВНОЕ:

if __name__ == "__main__": 
    app.run(host='0.0.0.0', debug=True) 

Бег как:

python __init.py__ 
+0

Как вы используете приложение? – dirn

+0

@ dirn отредактировал вопрос для более подробной информации. –

ответ

4

It похоже, что вы жестко кодируете статические URL-адреса файлов. Вы указываете Flask на сервер без префикса URL - по умолчанию было бы /static - но в журнале отображается запрос на /static/js/bootstrap.min.js. В файле шаблона, вероятно, есть что-то вроде следующего.

<script src="/static/js/bootstrap.min.js"></script> 

Вместо этого, вы должны использовать url_for, чтобы создать URL для вас. Изменение выше

<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script> 

Это приведет к

<script src="/js/bootstrap.min.js"></script> 
+0

Ах, вот оно! Однако один быстрый вопрос: «url_for (« static ») относится к пути« static_folder », установленному в моем приложении? –

+0

Когда запрашивается статический актив, конечная точка« статическая »Flask будет пытаться обслуживать ее из папки, указанной для' static_folder'. – dirn

Смежные вопросы