Python 获取要在URL中显示的MongoDB\u id:ObjectId
Flask/Python是个新手,我希望能够基于MongoDB ObjectId编辑一篇博客文章。我可以通过在URL中手动输入_id来实现这一点,但这当然不是我想要做的。我在下面贴了一些截图来进一步解释 单击“编辑帖子”时,我希望将用户定向到以下URL:Python 获取要在URL中显示的MongoDB\u id:ObjectId,python,html,mongodb,flask,jinja2,Python,Html,Mongodb,Flask,Jinja2,Flask/Python是个新手,我希望能够基于MongoDB ObjectId编辑一篇博客文章。我可以通过在URL中手动输入_id来实现这一点,但这当然不是我想要做的。我在下面贴了一些截图来进一步解释 单击“编辑帖子”时,我希望将用户定向到以下URL: 但目前只有当我将id复制并粘贴到URL中时才会发生这种情况。 我编辑_请求的代码如下: Flask/Python: @app.route("/edit_request/<request_id>", method
但目前只有当我将id复制并粘贴到URL中时才会发生这种情况。
我编辑_请求的代码如下: Flask/Python:
@app.route("/edit_request/<request_id>", methods=["GET", "POST"])
def edit_request(request_id):
if request.method == "POST":
submit_basic_clean_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"),
}
mongo.db.basic_clean_details.update(
{"_id": ObjectId(request_id)}, submit_basic_clean_details)
flash("Request Updated!")
return redirect(url_for("basic_clean_info"))
request_info = mongo.db.basic_clean_details.find_one(
{"_id": ObjectId(request_id)})
return render_template("edit_request.html", request=request_info)
@app.route(“/edit\u request/”,方法=[“GET”,“POST”])
def编辑请求(请求id):
如果request.method==“POST”:
提交基本清洁详细信息={
“用户名”:request.form.get(“用户名”),
“用户名称”:request.form.get(“用户名称”),
“用户联系人”:request.form.get(“用户联系人”),
“用户街”:request.form.get(“用户街”),
“用户邮政编码”:request.form.get(“用户邮政编码”),
“用户消息”:request.form.get(“用户消息”),
“用户日期”:request.form.get(“用户日期”),
}
mongo.db.basic\u clean\u details.update(
{“\u id”:ObjectId(请求\u id)},提交\u基本\u清理\u详细信息)
flash(“请求已更新!”)
返回重定向(url\u for(“基本\u清理\u信息”))
请求\u info=mongo.db.basic\u clean\u details.find\u one(
{“\u id”:ObjectId(请求\u id)}
返回渲染模板(“edit\u request.html”,request=request\u info)
链接以使用Jinja2在HTML模板中编辑请求<a href="{{ url_for('edit_request', request_id=request._id) }}">
<button class="flash_btns z-depth-2">
<img src="{{ url_for('static', filename='/images/edit_icon.png') }}" alt="" class="flash_icons">
Edit
</button>
</a>
我的想法是,将
添加到@app.route
会用帖子的ObjectId更新我的URL。相反,我只得到以下URL:我觉得这是一个简单的“东西”我错过了,我已经被困在这个一段时间,所以将感谢任何帮助。如果需要任何其他信息,我将乐意提供。万分感谢 啊,玛安,没有人?