Flask获取表单数据不能存入mongodb问题?

发布于 2022-09-13 01:06:45 字数 1884 浏览 16 评论 0

题目描述

我用Flask做了一个表单页面,但是表单数据无法保存到mongodb。

题目来源及自己的思路

但是使用另一个邮件表单又可以保存。。。我不知道哪里写错了,且没有提示任何错误。

相关代码

粘贴代码文本(请勿用截图)

无法保存数据库的路由

@app.route('/index', methods=['GET', 'POST'])
def postaction():

homeform = PayForm()
if homeform.validate_on_submit():
    amount = request.form['amount']
    doc = {
        '数量': amount
    }
    acc.insert_one(doc)
return render_template('index.html', homeform=homeform)

可以正常保存数据库

@app.route('/contact', methods=['GET', 'POST'])
def mail_1():

forms = ContactForm()
if forms.validate_on_submit():
    email = request.form['email']
    doc = {
        '数量': email
    }
    acc.insert_one(doc)
return render_template('mail.html', form=forms)

HTML表单代码

<form action="/index" method="post" class="text-center p-10" onsubmit="submitForm()">

        {{ homeform.csrf_token }}
        <div>
            {{ homeform.amount.label }}
            {{ homeform.amount(class="border border-black", size="6") }}
            {{ homeform.accounts(class="border border-black") }}
            {{ homeform.submit2(class="border border-black w-12 rounded") }}
        </div>
    </form>

wtforms代码

class PayForm(FlaskForm):

amount = StringField('Amount', validators=[DataRequired('Amount is required')])

accounts = core.SelectField(
    label='Accounts',
    choices=(
        ('FB','facebook'),
        ('tw','tweite'),
        ('ins','instagram'),
    )
)

payment = core.SelectField(
    label='支付方式',
    choices=(
        ('Perfectmoney', 'Perfectmoney'),
        ('payssion', 'payssion')
    )
)
submit2 = SubmitField('OK')

mongodb保存的邮箱数据

你期待的结果是什么?实际看到的错误信息又是什么?

希望有人帮我指出错误或解决方案

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文