gpt4 book ai didi

python - 如何使用 Flask 和 MongoDB 将用户帖子与其 session 链接起来?

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:47 25 4
gpt4 key购买 nike

我正在尝试使用 Flask 链接用户帖子。 例如,用户从表单将新产品添加到数据库中,并将其显示在其用户模板上

我不知道该帖子是否应该添加到由用户 ID 链接的数据库中,或者我只需要使用它的 session 。

我在表单中使用一个简单的函数将帖子插入集合中,但我不知道是否需要改进以与 session 用户链接?

应用程序.py:

@app.route('/insert_product', methods=['POST'])
def insert_product():
products=mongo.db.products
products.insert_one(request.form.to_dict())
return redirect(url_for('index'))

用户模板:

 <form class="text-center border border-light p-5" action="{{url_for('insert_product')}}" method='POST'>

<p class="h4 mb-4">Add a new product</p>

<div class="form-row mb-4">
<!-- Category -->
<select class="form-control " name="category_name">
<option disabled selected>Select Category</option>
{% for cat in category %}
<option value='{{cat.category_name}}'>{{cat.category_name}}</option>
{% endfor %}
</select>
</div>
<!-- Product Name -->
<input type="text" id="product_name" name="product_name" class="form-control mb-4" placeholder="Product Name" required>
<!-- Price -->
<input type="number" min="1" step="any" id="#" name="price" class="form-control mb-4" placeholder="Price" required>
<input type="text" id="url" name="url" class="form-control mb-4" placeholder="Add Image URL"> {% if session['email'] != None %}
<input type="text" id="seller" name="seller" class="form-control mb-4" placeholder="Seller Name" value="{{session['name']}}" required> {% endif %}
<div class="form-group green-border-focus">
<textarea class="form-control" id="product_description" name='product_description' placeholder="Add product description" rows="3" required></textarea>
</div>
<!-- Sign up button -->
<button class="btn btn-info my-4 btn-block" type="submit">Submit</button>
<hr>
<!-- Terms of service -->
<p>By clicking
<em>Sign up</em> you agree to our
<a href="" target="_blank">terms of service</a>
</form>

我能够显示帖子和所有其他 CRUD 功能。我想知道这个小问题来完成我的项目。谢谢。

最佳答案

我找到了答案。我只需要使用 pymongo 将卖家名称与部分名称匹配到集合中,并将其声明为变量 items=mongo.db.find({'seller':session.get('name')}) 循环检索产品/帖子:

@app.route('/user')
def user():

items=mongo.db.products.find({'seller':session.get('name')})
category=mongo.db.category.find()
email = session.get('email')
if not email:
return redirect(url_for('login'))
return render_template('user.html', category=category, items=items)

检索其登录/ session 用户完成的所有产品:

{% for item in items%}
code here..
{% endfor %}

关于python - 如何使用 Flask 和 MongoDB 将用户帖子与其 session 链接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57759612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com