Сложность использования Flask для размещения статических файлов и файлов шаблонов - PullRequest
0 голосов
/ 25 ноября 2018

Я хочу разместить 3 файла в app.py, используя инфраструктуру Flask.Вот как это выглядит.

Project
    ├── templates
    │   └── index.html
    ├── static
    │   ├── index.js
    │   └── style.css
    └── app.py

Как мне разместить эти файлы в app.py, используя инфраструктуру Flask?Вот моя попытка сделать это, но она дает мне ошибку, что сайт не может быть достигнут, когда я запускаю файл сервера app.py.

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index_html():
    return render_template('index.html')

@app.route('/index.js')
def index_js():
    return render_template('index.js')

@app.route('/style.css')
def style_css():
    return render_template('style.css')

if __name__ == '__main__':
    app.run(debug=True)

Вот также то, что включено в мой index.html

<script type="text/javascript" src="{{ url_for('static', filename='index.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}">

Еще одна вещь, когда я проверяю страницу и перехожу к источникам, ни один из моих index.js, style.css и index.html файлы есть.В основном это означает, что app.py не может найти ни один из тех файлов, которые находятся в моих шаблонах и статической папке.

1 Ответ

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

Они уже размещены, вы можете получить к ним доступ из HTML-файла, скажем:

index.html

<html>
<head>
<link rel="stylesheet" href="../static/style.css">
</head>
<body>
  <script src="../static/index.js"></script>
</body>
</html>

app.py

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index_html():
    return render_template('index.html')


if __name__ == '__main__':
    app.run(debug=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...