#html #flask #autocomplete #flask-wtforms
#HTML #flask #автозаполнение #flask-wtforms
Вопрос:
Я хочу автоматически обновить поле «Общая сумма», используя количество и цену товара? есть ли какой-нибудь способ сделать это с помощью flask без javascript? Я хочу, чтобы общая сумма обновлялась при вводе количества и цены товара.
class ItemForm(FlaskForm):
item = StringField('Item')
quantity=IntegerField('Quantity')
item_price=IntegerField('Item Price')
class Meta:
csrf = False
class CostumerForm(FlaskForm):
costumer_name=StringField('Costumer Name: ')
item_detail = FieldList(FormField(ItemForm), min_entries=1)
add_item = SubmitField(label='Add Item')
remove_item = SubmitField(label='Remove Item')
total_amount=IntegerField('Total Amount')
paid_amount=IntegerField('Paid Amount')
submit=SubmitField('Submit')
proceed=SubmitField('Proceed')
@app.route('/costumer',methods=['GET','POST'])
@login_required
def costumer():
form=CostumerForm()
if form.add_item.data:
form.item_detail.append_entry()
return render_template('costumer.html', form=form)
if form.remove_item.data:
form.item_detail.pop_entry()
return render_template('costumer.html', form=form)
if form.validate_on_submit():
item=breakdown(form.item_detail.data)[0]
quantity=breakdown(form.item_detail.data)[1]
item_price=breakdown(form.item_detail.data)[2]
amount=breakdown(form.item_detail.data)[3]
total_amount=breakdown(form.item_detail.data)[4]
remaning_amount=total_amount-form.paid_amount.data
sales=Costumer(admin_id=current_user.id,item_id=item,
costumer_name=form.costumer_name.data,quantity=quantity,
item_price=item_price,amount=amount,total_amount=total_amount,
paid_amount=form.paid_amount.data,remaning_amount=remaning_amount)
db.session.add(sales)
db.session.commit()
return redirect(url_for('salesvoucher'))
return render_template('costumer.html',form=form)
costumer.html
Продажи
{{form.hidden_tag()}}
{{form.costumer_name.label}}{{form.costumer_name(class=’form-control input-group-ig’,заполнитель =’Имя клиента’)}}
Элемент
Количество
Цена товара
{% для поля в form.item_detail %}
{% для f в поле%}
{{ f(class=’form-control’) }}
{% endfor %}
{% endfor %}
{{ form.add_item(class=’btn btn-primary’) }} {{ form.remove_item(class=’btn btn-опасность’) }}
{{form.proceed(class=’btn btn-primary’)}}
«`
Ответ №1:
ни в коем случае. даже если вы обновляете только во внешнем интерфейсе, вы должны использовать javascript.
Комментарии:
1. На самом деле я закончил изучать javascript… Это решило мою проблему