我是Python和Flask框架的新手,我不知道如何将数据传递到表单。我一直在获取AttributeError:“NoneType”对象在提交表单时没有属性“id”。在
我能够将对象(invoice1)从视图传递到模板并显示对象属性。(发票.id)但我不能将对象传递给窗体。在
@app.route('/invoice/add', methods=['GET', 'POST'])
@login_required
def addItem():
invoice2 = request.args.get('invoice_id', type=int)
invoice1 = Invoice.query.filter_by(id=invoice2).first()
form = ItemForm(obj=invoice1)
if form.validate_on_submit():
newItem = Item(
invoice = invoice1,
quantity = form.quantity.data,
category = form.category.data,
brand = form.brand.data,
model = form.model.data,
serialNumber = form.serialNumber.data,
condition = form.condition.data,
notes = form.notes.data,
cost = form.cost.data
)
db.session.add(newItem)
db.session.commit()
return redirect(url_for('invoice'))
return render_template('invoice/addItems.html', form=form, invoice1=invoice1)
在表单.py在
^{pr2}$在附件.html在
{% extends "base.html" %}
{% block title %}Invoice{% endblock %}
{% block content %}
<div class="row">
<div class="col-md-offset-3 col-md-6">
<h3>Add Items to Invoice</h3>
{{ invoice1.id }}
{% from "_formhelpers.html" import render_field %}
<form method="POST" action="{{ url_for('addItem') }}" role="form">
{{ form.hidden_tag() }}
{{ render_field(form.quantity, class ='form-control') }}
{{ render_field(form.category, class ='form-control') }}
{{ render_field(form.brand, class ='form-control') }}
{{ render_field(form.model, class ='form-control') }}
{{ render_field(form.serialNumber, class ='form-control') }}
{{ render_field(form.condition, class ='form-control') }}
{{ render_field(form.notes, class ='form-control') }}
{{ render_field(form.cost, class ='form-control') }}
<button type="submit" class="btn btn-default">Add Item</button>
</form>
</div>
</div>
{% endblock %}
我可以通过shell成功地将记录保存到数据库中。在
任何帮助都将不胜感激。在
谢谢你!在
目前没有回答
相关问题 更多 >
编程相关推荐