Flask - ошибка 404 при попытке html получить доступ к файлу Javascript - PullRequest
0 голосов
/ 01 января 2019

Я довольно новичок в Python, Javascript и фляге в целом.Когда я пытаюсь вставить Javascript в мой HTML-файл и разместить его на локальном сервере, я получаю эту ошибку.

127.0.0.1 - - [31/Dec/2018 18:01:03] "GET /%7B%7B%20url_for('static',%20filename='js/ClientSide.js')%20%7D%7D HTTP/1.1" 404-

Так выглядит соответствующая часть моего html-файла.

<!DOCTYPE html>
<html>
<head> 
<script src="{{ url_for('static', filename='js/ClientSide.js') }}"></script>
</head>
<h1>Tweet Data</h1>

Так выглядит соответствующая часть моего кода на python

app = Flask(__name__,static_folder='templates')

@app.route("/")
def output():
    return send_from_directory(app.static_folder,"Frontend.html")

Вот так выглядит структура моей папки

├───.idea
├───static
│   ├───css
│   └───js
|       +---ClientSide.js
├───templates
|   +---Frontend.html
├───venv
│
|---twitter.py

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Вы должны использовать метод рендеринга, чтобы связать скрипт как переменную в шаблоне jinja.

from flask import render_template 

@app.route("/")
def output():
    return render_template("Frontend.html")

вам лучше добавить код JavaScript внизу страницы html (перед тегом end body).

0 голосов
/ 01 января 2019

send_from_directory используется для статических файлов.Frontend.html - это шаблон, который позволяет вам называть {{python code}} следующим образом.Вместо использования send_from_directory, вы должны использовать render_template.

http://flask.pocoo.org/docs/1.0/quickstart/#rendering-templates

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