На моей веб-странице ничего не отображается, когда я пытаюсь использовать render_template Flask

#python #html #flask

#питон #HTML #flask

Вопрос:

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

Это мой основной код:

 from flask import Flask, render_template

app = Flask(__name__)
@app.route('/')
def index():  
    return render_template('index.html')

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

Это мой HTML-файл:

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="{{ url_for ('static', filename='css/main.css') }}">
    <title> Document</title>>
</head>
<body>
    Hello
</body>
</html>
 

И вот как выглядит все мое рабочее место

Ответ №1:

Вероятно, это связано с тем, что папка, в которой у вас есть ваш HTML, не названа как шаблоны, я считаю, что такая структура облегчит вашу жизнь:

 Flask App
  templates
    base.html
    index.html
    posts.html
  app.py
 

Я надеюсь, что это поможет

Ответ №2:

Я не знаком с VSCode, но я не уверен, называется ли папка ‘static’ ‘static / css’ или она ‘static’, а ‘css’ является подпапкой первой. Это должно быть последнее, и это может быть причиной того, что css может не отображаться.

Что касается HTML. При работе с серверной частью, такой как Flask, одна из распространенных проблем связана с chrome-cache. После внесения изменений в HTML попробуйте отключить его перед перезагрузкой страницы, нажав F12, перейдя на вкладку «Сеть» и установив флажок «Отключить кэш». Затем перезагрузите (сначала не нажимая F12) и посмотрите, изменилось ли что-нибудь

О, и я только что заметил, что в нем говорится, что вы не сохранили свои последние изменения в HTML-файле, возможно, вы забыли сохранить после добавления своего содержимого в документ.

Ответ №3:

Чувак, я получил ту же ошибку. Я так много искал везде о том, что происходит, но я этого не понял. Затем, благодаря критическому мышлению, я понял, что render_template не работает. Поэтому позже я понял, что функция render template чувствительна к тому, какие имена вы сохраняете в своем каталоге, например, вам нужно иметь html-файл только в папке с именем «templates». В случае, если вы этого не сделаете, это не сработает. Итак, у меня все было правильно, но сайт все равно не работал. Затем я попытался изменить имя папки, в которой у меня были все файлы, которая в моем случае называлась «website». Затем я повторно запускаю веб-сайт, изменив его имя на «ksi» (в основном случайное имя). Вот когда сработала функция шаблона рендеринга.

Я не знаю, как за столько лет никто не нашел решения этой проблемы. Похоже, что у некоторых устройств нет этой проблемы, но в любом случае надеюсь, что это решит вашу проблему!