gpt4 book ai didi

flask - 错误绑定(bind)参数 0 - 可能是不受支持的类型。 u'插入到 "Contacts"

转载 作者:行者123 更新时间:2023-12-03 17:33:00 24 4
gpt4 key购买 nike

I have a wtform in contact.html and wanna display the data that user enter in info.html when I press submit to redirect to info.html got error InterfaceError: (InterfaceError) Error binding parameter 0 - probably unsupported type. u'INSERT INTO "Contacts" (name, email, subject, message) VALUES (?, ?, ?, ?)'


  @app.route('/contact', methods=['GET', 'POST'])
def contact():
form = LoginForm()
if request.method == 'POST':
if form.validate()== True:
newcontact = Contacts(name=form.name,
email=form.email,
subject=form.subject,
message=form.message)

db.session.add(newcontact)
db.session.commit()
return redirect(flask.url_for('info'))

else:
#If the form does not have all fields that are required
flash('All fields are required.')
return render_template('contact.html', form=form)

@app.route('/info', methods=['GET', 'POST'])
def info():
form = LoginForm()
#fetch the first
contactinfo = Contacts.query.first()
#Populate the form Not sure about this part??

form.name = contactinfo.name
form.email = contactinfo.email
form.subject = contactinfo.subject
form.message = contactinfo.message
#returns the html page, along with the form
return render_template('info.html', form=form)

if __name__ == '__main__':
app.run(debug=True)

form.py


 class LoginForm(Form):
name = StringField("Name", [validators.Required("Please enter your name.")])
email = StringField("Email",
[validators.Required("Please enter your email address."),
validators.Email("Please enter valid email address.")])
subject = StringField("Subject",
[validators.Required("Please enter your subject.")])
message = StringField("Message",
[validators.Required("Please enter your message.")])
submit = SubmitField("Submit")

model.py


     class Contacts(db.Model):
__tablename__ = "Contacts"
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(50))
email = db.Column(db.String(50))
subject = db.Column(db.String(50))
message = db.Column(db.String(50))

info.html


     {% extends "layout.html" %}
{% block content %}
<h2>show the info</h2>
{% for entry in form %}
name: {{ entry.name}} <br>
email: {{ entry.email }} <br>
subject{{ entry.subject }} <br>
messaget {{ entry.message }} <br>
<br>
{% endfor %}
{% endblock %}

最佳答案

您正在将表单字段而不是它们的值分配给您的模型字段。该值存储在每个字段的data属性。

newcontact = Contacts(
name=form.name.data,
email=form.email.data,
subject=form.subject.data,
message=form.message.data)

关于flask - 错误绑定(bind)参数 0 - 可能是不受支持的类型。 u'插入到 "Contacts",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27434158/

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