Я написал веб-приложение для блога с python, flask, mongodb и bootstrap.В моей работе, если я выбираю статью, программа должна зайти в базу данных, найти соответствующий идентификатор выбранной статьи и должна отобразить содержимое статьи в html-файл.Вот пример кода для маршрута:
# Home with articles displayed
@app.route('/home', methods=['GET','POST'])
def article():
# Create Mongodb connection
user = mongo.db.articles
# Execute query to fetch data
results = user.find()
# Iterate the data retrieved
if results is not None:
articles = results
return render_template("index.html", articles=articles)
else:
msg = Markup("<h3>No Articles Posted.</h3>")
return render_template("index.html", msg=msg)
# Single Article
@app.route('/home/<id>/', methods=['GET','POST'])
def post(id):
# Create Mongodb Connection
user = mongo.db.articles
# execute query
article = user.find_one({'_id': id})
return render_template("post.html", article=article)
Это также пример кода файла HTML:
{% extends 'base.html' %}
{% block title %} <title>Articles | Blog</title> {% endblock %}
{% block content %}
<!-- Page Header -->
<div class= "jumbotron">
<h5>{{article.title}}</h5>
<small>Written by Mr. Boss on {{article.date}} </small>
<hr>
<p class="lead">{{article.body}}</p>
</div>
<!-- Post Content -->
{% endblock %}
Страница отображается нормально, когда я выбираю статью, нопроблема в том, что он не отображает информацию из mongodb в html-файл.Вот данные mongodb в json:
{
"_id": ObjectId("5c79d99195eded2364b03813"),
"title":"Article One",
"body":"This is the first article",
"date":"2019-03-02T00:00:00.000Z"
}
Пожалуйста, я новичок в python, поэтому будьте осторожны, если я делаю какие-либо ошибки и помогаю мне решить эту проблему. Спасибо.