HTML-код Python Flask не отображается

#python #html #flask

#python #HTML #flask

Вопрос:

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

Ниже приведен код:

 from flask import Flask, render_template, url_for
app = Flask(__name__)

posts = [
    {
        'author': 'Devo Developerr',
        'title': 'Blog Post 1',
        'content': 'First post content',
        'date_posted': 'October 23, 2020'
    },
    {
        'author': 'Jane Doe',
        'title': 'Blog Post 2',
        'content': 'Second post content',
        'date_posted': 'April 21, 2020'
    }
]


@app.route("/")
@app.route("/home")
def home():
    return render_template('home.html', posts=posts)


@app.route("/about")
def about():
    return render_template('about.html', title='About')


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

Это мой основной файл flask.

Это мой HTML-файл, home.html

 <!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    {% for post in posts %}
        <h1>{{ post.title }}</h1>
        <p>By {{ post.author }} on {{ post.fate_posted }}</p>
        <p>{{ post.content }}</p>
    {% end for %} 
</body>
</html>
  

Каков целевой результат:Направленный вывод

Каков результат прямо сейчас :Выводите прямо сейчас

Комментарии:

1. где находится шаблон home.html ? Он должен быть в каталоге шаблонов.

2. @Nabin Он находится внутри папки с именем «шаблоны»

Ответ №1:

В вашем каталоге проекта Flask создайте templates каталог и переместите туда свои шаблоны.

 mkdir templates
mv *.html templates
  

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

Комментарии:

1. Я уже создал имя папки «шаблоны». У меня есть home.html внутри него. Я попытался изменить код в том, что вы сказали. Можете ли вы немного подробнее указать шаблоны mkdir? Спасибо

2. Flask предполагает, что ваши шаблоны по умолчанию находятся в каталоге шаблонов , поэтому, если вы находитесь в своем каталоге Flask, просто mkdir templates создайте его, если его там нет, и просто используйте его и скопируйте about.html туда.

3. Итак, я должен добавить «шаблоны mkdir» в свой терминал? И когда я это делаю, я получаю сообщение об ошибке, в котором говорится, что оно уже существует. Спасибо за помощь.