Обслуживание одного index.html с помощью Flask из другого каталога - PullRequest
0 голосов
/ 29 ноября 2018

У меня сейчас структура папок такая:

/
--client
----dist
------index.html
------index.js
--server
----server.py

index.js в dist/ служит для приложения реакции.Мой server.py выглядит так:

import os
from flask import Flask, send_from_directory
app = Flask(__name__)

@app.route('/')
def hello_world():
    return send_from_directory('../client/dist/', 'index.html')

if __name__ == "__main__":
    app.run()

К сожалению, это не работает, и я получаю Failed to load resource.Я посмотрел на несколько сообщений на SO и за ее пределами относительно этого.Большинство из них очень старые (и, возможно, устарели), и все они обычно имеют разную структуру папок, где файл index.html подается из папки static в server/ или чего-то подобного.

Я действительно просто хочу сделать то, что, по моему мнению, должно быть легкой задачей: когда посещается localhost:5000, Flask обслуживает ../client/dist/index.html, и оттуда React вступает во владение и делает свое дело.

Я был бы очень признателен, если быкто-то может предоставить мне минимальный / чистый способ достижения цели.

1 Ответ

0 голосов
/ 29 ноября 2018

Оказывается, я был несколько неправ.Я думал, что этот вопрос не был репостом, но после еще одного поиска я нашел другой вопрос StackOverflow, очень похожий на мой:

Обслуживание статического html-файла из другого каталога из конечной точки restb_full

Составляя пару ответов оттуда и из других мест, у меня есть минимальное рабочее решение:

from flask import Flask, send_from_directory
app = Flask(__name__, static_folder='../client/dist')

@app.route('/')
def hello_world():
    return send_from_directory(app.static_folder, 'index.html')

if __name__ == "__main__":
    app.run()

Когда я сейчас посещаю localhost:5000, я получаю содержимое index.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...