Бутылка не направляется в индекс HTML-файл - PullRequest
0 голосов
/ 03 декабря 2018

Я использую Bottle для проекта Python и настроил запуск проекта на localhost: 8080 (ноутбук с Windows 10).Я кодировал проект на VS Code, однако, когда я запускаю отладчик на встроенном терминале VS Code, в моем браузере появляется ошибка 500 (Google Chrome).

Проект отлично работал на TAОднако на моем ноутбуке бутылка не перенаправляется на страницу индекса, даже когда я явно импортировал ее из static_file и добавил корневой файл в функцию run.Я попытался запустить пример с Bottlepy.org, и даже это не работает.

Единственное, что сработало, было:

from bottle import run, route

@route('/')
def hello():
   return "If you're seeing this message, then bottle is working"
run(host='localhost', port=8080)

Опять же, я запустил:

from bottle import run, route, template

@route('/')
def hello():
   return template("index.html")
run(host='localhost', port=8080)

и

from bottle import run, route, static_file

@route('/static/')
def hello():
  return static_file('index.html', root='static')
run(host='localhost', port=8080)

Включая пример из bottlepy.org, к которому привели:

Error 500 Template 'index.html' not found.

Или

Error 500 ‘Template ‘/’ not found

Iне верьте, что это проблема PATH с Python, но это может быть проблема с файлом JSON с кодом VS.Все пакеты Python на моей машине обновлены, и на данный момент у меня нет идей.Ваши предложения / рекомендации будут оценены.Спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Вероятно, проблема в том, что встроенная оболочка выполняет код в каком-то другом каталоге, где находится файл 'index.html'.

Чтобы помочь решить проблему, замените имя файла на абсолютный путь, например

@route('/static/')
def hello():
  return static_file(os.path.join(os.path.dirname(__file__), 'index.html'), root='static')
...