你好,我需要一些帮助,我没有数据显示在表格中。 我将数据从引导模式表单发布到sqlite3数据库。
任何帮助都会很棒。
这是视图
@dashboard.route('/stream/products', methods=['GET', 'POST'])
@login_required
def products():
product = Product()
form = ProductForm(product=product)
if current_user.can(Permission.WRITE_PRODUCTS) and \
form.validate_on_submit():
filename = secure_filename(form.image.data.filename)
form.image.data.save('./app/static/uploads/' + filename)
product.name=form.name.data
product.description=form.description.data
product.part=form.part.data
product.price=form.price.data
product.manager=current_user._get_current_object()
db.session.add(product)
flash('The product has been updated.')
return redirect(url_for('.products',name=product.name))
form.name.data=product.name
form.description.data=product.description
form.part.data=product.part
form.price.data=product.price
products = Product.query.order_by(Product.name.desc()).all()
else:
filename = None
return render_template('dashboard/content/products.html',form=form, filename=filename, product=product )
这里是html我似乎无法找到缺少的链接。
<tbody>
{% for product in products %}
<tr>
<td>{{ product.id }}</td>
<td colspan="1">{{ product.image(class="img-responsive" ) }}</td>
<td colspan="3">{{ product.name }}</td>
<td colspan="1">{{ product.part }}</td>
<td colspan="2">{{ product.price }}</td>
<td colspan="1"><button type="button">Edit</button></td>
<td colspan="1"><button type="button" >Delete</button></td>
<td colspan="1"><input type="checkbox"></td>
</tr>
{% endfor %}
</tbody>
模型就是这样。
class Product(db.Model):
__tablename__ = 'products'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(55))
description = db.Column(db.Text)
part = db.Column(db.String(55))
price = db.Column(db.Integer)
manager_id = db.Column(db.Integer, db.ForeignKey('users.id'))
答案 0 :(得分:0)
您需要在db.session.commit()
db.session.add(product)
commit()刷新挂起的更改并提交当前事务。
如果您未能拨打电话,那么您的更改将被回滚。
答案 1 :(得分:0)
行后的代码:
return redirect(url_for('.products',name=product.name))
死了返回离开当前函数,因此后面的行中的代码直到else:
从未执行,因此数据不会显示在表单中。