Я пытаюсь заполнить страницу, созданную в Flask, элементами из MongoDB. Мой маршрут выглядит следующим образом:
@app.route('/job/<posting>', methods=["GET"])
def job_post(posting):
posting = db.openings.find({'Id': posting})
title = db.openings.find_one({'Id': posting}, {'Title': 1, '_id':0})
return render_template('post_page.html', posting=posting, title=title)
Моя страница шаблона для post_page.html:
{% extends "layout.html" %}
{% block content%}
<div class="container">
<article class="media content-section">
<div class="media-body">
<div class="article-metadata">
<h3><a class="mr-2" href="#">{{ title }}</a></h3>
</div> -->
</article>
</div>
{% endblock content %}
Когда я пытаюсь получить доступ к странице, появляется сообщение об ошибке "bson.errors.InvalidDocument: cannot encode object: <pymongo.cursor.Cursor object at 0x10dd402e8>, of type: <class 'pymongo.cursor.Cursor'>"
Когда я исследую эту ошибку, большинство проблем связано с использованием find
вместо find_one
. Я использую find_one
здесь, и когда я тестирую его в оболочке Python, тип переменной для title это словарь, поэтому я не понимаю, почему он передает объект курсора в шаблон.