Несколько stati c папок и шаблонов в приложении flask - PullRequest
1 голос
/ 25 февраля 2020

Можно ли иметь более одной папки stati c в приложении flask? У меня есть несколько файлов. css и. js, которые я использую только для определенного проекта и хотел бы, чтобы файлы находились в том же каталоге, что и проект.

Моя программа имеет такую ​​структуру:

app
|
| blueprints
| |
| | blueprint_1
| | |
| | | views.py
| | | __init__.py
| | 
| | blueprint_2
| | |
| | | views.py
| | | __init__.py
| 
| static
| |
| | css, js, etc.

И я хотел бы иметь такую ​​структуру:

app
|
| blueprints
| |
| | blueprint_1
| | |
| | | views.py
| | | __init__.py
| | | static
| | | |
| | | | certain css, js, etc
| | 
| | blueprint_2
| | |
| | | views.py
| | | __init__.py
| | | static
| | | |
| | | | certain css, js, etc
| 
| static
| |
| | css, js, etc.

И аналогичная вещь с шаблонами. Пока я использую файл. js в шаблоне, я получаю к нему доступ:

{{url_for('static'), filename='jsfile'}}

1 Ответ

2 голосов
/ 25 февраля 2020

Хорошо, я понял это.

Согласно документам , если у проекта нет url_prefix, невозможно получить доступ к папке с планом stati c.

Тогда решение может быть следующим:

Добавьте url_prefix в Blueprint:

some_blueprint = Blueprint('something', __name__, static_folder='static', url_prefix='/something')

и в шаблоне мы ссылаемся на нашу папку stati c следующим образом:

{{url_for('something.static', filename=...)}}

Мне кажется странным, что url_prefix необходим для его работы, но что угодно.

...