gpt4 book ai didi

python-2.7 - 从表中获取所有产品并对其进行迭代

转载 作者:行者123 更新时间:2023-12-03 15:49:41 25 4
gpt4 key购买 nike

我正在编写一个使用Flask作为后端的网站,并且试图将表格中的所有产品添加到网页中。

我从来没有使用过SQLAlchemy或类似的工具,所以我不确定如何从数据库中准确地获取所有产品,然后根据网站的需要对它们进行分类。

这是我在views.py中使用的代码

@app.route('/products')
def products():
product = [
{
'product_name': 'T-Shirts',
'product_price': '18.00',
'product_img': '',
'product_description': 'A t-shirt.'
},
{
'product_name': 'TShirts 2',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 3',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 4',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 5',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 6',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 7',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 8',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 9',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 10',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 11',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 12',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 13',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 14',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
{
'product_name': 'TShirts 15',
'product_price': '25.00',
'product_img': '',
'product_description': 'A t-shirt, again.'
},
]
return render_template("products.html",
title="Products",
products = product)

这是我模板中的代码(可以正常工作):
{% extends "base.html" %}
{% block content %}
<div class="row">
<div class="large-4 small-12 columns">
<img src="{{ url_for('static', filename='img/Straight_Up_Performance_Logo.png') }}">

<div class="hide-for-small panel">
<h3>Straight Up Racing</h3>
<h5 class="subheader">Straight Up Racing believes that the best way to get in touch with our customers is for
them to call us. Give us a call at (406) 239-4975 to order yours today!
</h5>
</div>
</div>

<div class="large-8 columns">
<div class="row container1">
{% for product in products %}
<div class="large-4 small-4 columns">
<ul class="pricing-table">
{% if product.product_name %}<li class="title">{{ product.product_name }}</li>{% endif %}
{% if product.product_price %}<li class="price">${{ product.product_price }} + S&H</li>{% endif %}
{% if product.product_img %}<li class="bullet-item">{{ product.product_img }}</li>{% endif %}
{% if product.product_description %}<li class="description">{{ product.product_description }}</li>{% endif %}
</ul>
</div>
{% endfor %}
</div>
</div>
</div>


{% endblock %}

这是创建Product表的代码:
class Product(db.Model):
product_id = db.Column(db.Integer, primary_key=True)
product_name = db.Column(db.String(64), index = True)
product_price = db.Column(db.Float, index=True)
product_img = db.Column(db.String(200), index=True)
product_description = db.Column(db.String(1000), index=True)

def __repr__(self):
return '<Product %r>' % (self.product_name)

我的问题不是为什么它当前不从数据库中提取数据,我知道它使用的是我手动定义的内容。我不知道如何使用SQLAlchemy从数据库中将其提取?

最佳答案

如果要显示所有产品,则需要SQLAlchemy的all方法。

@app.route('/products')
def products():
products = Product.query.all()
return render_template("products.html",
title="Products",
products=products)

如果您希望按某个字段进行过滤,则需要使用SQLAlchemy的 filterfilter_by
products = Product.query.filter(Product.product_name == 'TShirts 11').all()

# or

products = Product.query.filter_by(product_name='TShirts 11').all()

关于python-2.7 - 从表中获取所有产品并对其进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23744171/

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