gpt4 book ai didi

python - 第一次追加后,append_entry() 不起作用。我将 Fieldlist 与 Flask-wtf、jinja 和 Python 3.4 一起使用

转载 作者:行者123 更新时间:2023-12-01 23:00:45 36 4
gpt4 key购买 nike

我在通过flask-wtf中的append_entry append 字段列表时遇到问题。

我可以从字段列表中添加一行字段,但在添加第一行后,我无法添加第二行。

没有显示错误。

在第一次尝试中,添加了字段列表项的新行,并在服务器日志中打印“数据为王”和“True”(我已将其包括在内以查看添加按钮是否发送数据并且循环实际上是否经过)。

在第二次尝试中,未添加新行,但页面重新加载,并在服务器日志中打印“Data is King”和“True”(这意味着循环已执行,但append_entry命令不起作用)。

我发现 4 年前提出了同样的问题,但该问题的接受答案中给出的解决方案并不能解决问题。

下面是链接。

https://stackoverflow.com/questions/8637831/cant-append-entry-fieldlist-in-flask-wtf-more-than-one#=

我已经尝试了所有组合,但没有解决问题(我已经解决这个问题超过 48 小时了)。

有人可以帮忙吗?

form.py 数据

class FormCont(FlaskForm):
description = StringField('Description',validators=[DataRequired()])
start_time = FloatField('Start Time',validators=[DataRequired()])

class AddItemCont(FlaskForm):
a = FloatField(validators=[DataRequired()])
b = FloatField(validators=[DataRequired()])
c = FloatField(validators=[DataRequired()])
item_cont = FieldList(FormField(FormCont), min_entries=0, max_entries=100)
add_item_cont = SubmitField("Add")
remove_item_cont = SubmitField("Remove")
submit = SubmitField()

查看.py数据

@additem.route('/additem/', methods = ['GET','POST'])
def additemcont():
form = AddItemCont(request.form)
if form.add_item_cont.data:
form.item_cont.append_entry()
print ("Data is King")
print (form.add_item_cont.data)
return render_template('entry.html',form=form)

entry.html数据

<form action="{{url_for('additemcont')}}" method='POST' name='AddItemCont' class="form-horizontal">
{{ form.hidden_tag() }}
<div class = "row">
<div class="col-md-1" >
<form action="" method="POST" class="form-horizontal"><button type="submit" class="btn btn-success btn-xs" name="add_item_cont" value="add_item_cont"><span class="glyphicon glyphicon-plus" aria-hidden="true"></button>
</form>
</div>
</div>

<div class = "row"><div class="col-md-12" >
{% for x in form.item_cont %}
{% for i in x %}
{{ i (class="form-control") }}
{% endfor %}
{% endfor %}
</div></div>

最佳答案

您是否尝试过初始化表单并将其传递给append_entry

@additem.route('/additem/', methods = ['GET','POST'])
def additemcont():
form = AddItemCont(request.form)
if form.add_item_cont.data:

### here
form_cont = FormCont()
form.item_cont.append_entry(form_cont)
####

print ("Data is King")
print (form.add_item_cont.data)
return render_template('entry.html',form=form)

关于python - 第一次追加后,append_entry() 不起作用。我将 Fieldlist 与 Flask-wtf、jinja 和 Python 3.4 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50895288/

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