Справочная информация: Я искал это здесь и в других местах, но все остальные вопросы по этой теме, похоже, касаются 1. RoR или 2. Django.Я считаю, что Flask построен с Django, но Бутылка, хотя и похожа, не так.Кажется, одно из отличий заключается в том, что у Django есть файл «settings.py», в то время как Bottle / Heroku этого не требует, поэтому у меня есть файл «needs.txt».Во многих ответах, относящихся к Flask, рекомендованы изменения в файле settings.py, но я боюсь, что я что-нибудь сломаю, если я настрою один из них, и мне интересно, есть ли что-то сверхпростое с Bottle, которое яm просто отсутствует.
К объяснению проблемы! У меня есть файл CSS, и я могу (после многих исследований SO) заставить его показать на локальной версии моегоПриложение Python / Bottle, использующее этот код:
from bottle import static_file
@route('/<filepath:path>')
def server_static(filepath):
return static_file(filepath, root='/Users/<myname>/Google Drive/Python Drive/Databases/bottletodo/static')
В верхней части моей страницы .tpl у меня есть:
<link rel="stylesheet" type="text/css" href="css/main.css">
Это прекрасно работает на моей странице localhost.Однако при загрузке в Heroku все это в значительной степени исчезает.
Журналы Heroku: Вот что я вижу:
2018-11-24T16:37:29.674341+00:00 heroku[router]: at=info method=GET path="/js/main.js" host=<my app>
request_id=60f3cb0f-e0bd-41ed-8b64-149e6e4084a7
fwd="69.181.68.17" dyno=web.1 connect=0ms service=5ms status=404 bytes=180 protocol=https
Странная часть для меня - PATH = "/ JS / main.js" * * тысячу двадцать-один.Насколько я могу судить, я никогда не выбирал этот путь;вышеуказанный путь маршрутизации указывает на мою «статическую» папку, а путь CSS вверху страницы указывает на папку «css» в этой статической папке, а затем файл «/main.css» в этой папке css, которыйчто я хочу, чтобы случилосьЕсть также папка JS, которая пришла из CSS-шаблона, который я скачал, но я не могу понять, почему он указывает на это.
Вот частичная / соответствующая файловая структура:
-static
-css
-main.css
-js
-main.js
И здесь , откуда я получил файлы.
Вопрос: Главная проблема в том, что он даже не проверяет нужный файл?Если нет, то я что-то упускаю из-за того, как нужно настроить Bottle для отображения CSS при развертывании Heroku?Если это главная проблема, как мне исправить путь?
А почему JS все равно не работает?Это реальная проблема, что JS требуется для обслуживания CSS, и мне нужно сделать что-то еще, чтобы загрузить его?