【发布时间】:2014-07-07 19:01:20
【问题描述】:
我正在编写一个使用 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 从数据库中提取它?
【问题讨论】:
标签: python-2.7 flask sqlalchemy