#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» в свой терминал? И когда я это делаю, я получаю сообщение об ошибке, в котором говорится, что оно уже существует. Спасибо за помощь.