Python 使用Flask&;遍历MongoDB数据时出现问题;金甲2号
Flask/Python是全新的,我正试图使用Flask遍历来自MongoDB的数据列表。抓取的数据没有任何问题,但我得到的结果是将所有数据库条目填充到一个div中。下面我提供了一些屏幕截图来进一步解释问题 两个MongoDB条目:Python 使用Flask&;遍历MongoDB数据时出现问题;金甲2号,python,html,flask,jinja2,Python,Html,Flask,Jinja2,Flask/Python是全新的,我正试图使用Flask遍历来自MongoDB的数据列表。抓取的数据没有任何问题,但我得到的结果是将所有数据库条目填充到一个div中。下面我提供了一些屏幕截图来进一步解释问题 两个MongoDB条目: 这个想法是有两张单独的卡片来显示这两个条目。卡将显示移动的名称,单击后,其余信息将以模式显示 HTML模板代码: <div id="modal1" class="modal request_info_wrap">
这个想法是有两张单独的卡片来显示这两个条目。卡将显示移动的
名称
,单击后,其余信息将以模式显示
HTML模板代码:
<div id="modal1" class="modal request_info_wrap">
{% for user_details in user_details: %}
<div class="modal-content request_info_card">
<h4 class="request_name_header">{{ user_details.user_name }} {{ user_details.user_lname }}</h4>
<p class="request_info"><span class="request_title">Request
Address:</span><br>{{ user_details.user_street }}<br>{{ user_details.user_postcode }}</p><br>
<p class="request_info"><span class="request_title">Contact
Number:</span><br>{{ user_details.user_contact }}</p><br>
<p class="request_info"><span class="request_title">Requested
Date:</span><br>{{ user_details.user_date }}</p><br>
<div class="deep_clean_section">
<p class="request_info" style="color: #000;"><span class="request_title">Deep Clean
for:</span><br>{{ user_details.carpet_clean }}<br>{{ user_details.floor_steam }}<br>
{{ user_details.white_goods }}<br>{{ user_details.window_clean }}
</p>
</div><br>
<hr style="margin: 0;">
<p class="request_info"><span class="request_title">Customer
Message:</span><br>{{ user_details.user_message }}</p>
</div>
<div class="modal-footer job_card_btn_wrap">
<a href="#" class="modal-close replyto_btn">Reply to
{{ user_details.user_name }}</a>
</div>
{% endfor %}
</div>
</div>
@app.route("/deep_clean_info", methods=["GET", "POST"])
def deep_clean_info():
if request.method == "POST":
user_details = {
"user_name": request.form.get("user_name"),
"user_lname": request.form.get("user_lname"),
"user_contact": request.form.get("user_contact"),
"user_street": request.form.get("user_street"),
"user_postcode": request.form.get("user_postcode"),
"user_message": request.form.get("user_message"),
"user_date": request.form.get("user_date"),
"carpet_clean": request.form.get("carpet_clean"),
"floor_steam": request.form.get("floor_steam"),
"white_goods": request.form.get("white_goods"),
"window_clean": request.form.get("window_clean"),
}
mongo.db.user_details.insert_one(user_details)
flash("Request sent to cleaner")
return redirect(url_for("deep_clean_info"))
details = mongo.db.user_details.find().sort("user_details", 1)
return render_template("deep_clean_details.html", user_details=details)
我确实认为问题在于我的模板中的jinja2 for循环,但如果需要任何其他信息,我将非常乐意提供帮助,我们将不胜感激。谢谢
编辑虽然我不想使用这种样式来显示数据,但HTML模板似乎可以很好地进行迭代
<ul class="collapsible popout pending_jobs">
{% for user_details in user_details %}
<li>
<div class="collapsible-header request_item_header">
<i class="fas fa-comment-dots"></i>
{{ user_details.user_name }} {{ user_details.user_lname }}
</div>
<div class="collapsible-body request_info">
<div class="row">
<span class="row info_headers">Address:<br>
<span class="light_text info_text" id="customer_address">
{{ user_details.user_street }}</span>
</span><br>
<span class="info_headers">Contact Number:<br>
<span class="light_text info_text" id="customer_contact">{{ user_details.user_contact }}</span>
</span><br>
</div>
<span class="info_headers row customer_request_style">Customer Request:<br>
<span class="light_text italic_text" id="customer_request">{{ user_details.user_message }}</span>
</span><br>
<span class="info_headers">Cleaning Date:<br>
<span class="light_text italic_text" id="customer_request">{{ user_details.user_date }}</span>
</span><br>
<a href="{{ url_for('cleaner_chat') }}"><button class="respond_to_user">Respond to
{{ user_details.user_name }}?</button></a>
</div>
</li>
{% endfor %}
</ul>
{user_details%}中的用户_详细信息为%
-
{{user\u details.user\u name}{{{user\u details.user\u lname}
地址:
{{user_details.user_street}}
联系电话:
{{user\u details.user\u contact}
客户请求:
{{user_details.user_message}}
清洁日期:
{{user\u details.user\u date}
{%endfor%}
请共享代码/数据,不要images@balderman抱歉,我已经用代码更新了屏幕截图。{%for user\u details in user\u details%}
这是一个bug吗?您的外部for循环使用了与迭代器相同的项目变量名。这可能会把事情搞砸吗?试试这样的方法:{%for user\u details\u lst%}