提交烧瓶表单时收到 400 错误请求错误

时间:2021-03-27 01:03:54

标签: python flask

我目前正在用 Flask 编写一个应用程序,但我似乎偶然发现了这个问题,每次我发布表单时都会收到 400 个错误的请求错误。有人能找出我犯的错误吗?显然错误出现在 HTML 名称为“oneaccess-customer-gateway”的元素上。

烧瓶代码:

    results = [{'oneaccesscustomername': request.form["oneaccess-customer-name"], 'oneaccesscustomergateway': request.form["oneaccess-customer-gateway"],
                'oneaccessorganisationid': request.form["oneaccess-organisation-id"], 'oneaccessdossierid': request.form["oneaccess-dossier-id"],
                'oneaccessprovider': request.form["oneaccess-provider"], 'oneaccessipseclansubnet': request.form["oneaccess-ipsec-lansubnet"],
                'oneaccessprovidercpeport': request.form["oneaccess-provider-cpeport"], 'oneaccessprovidersipusername': request.form["oneaccess-provider-sip-username"],
                'oneaccessprovidersippassword': request.form["oneaccess-provider-sip-password"], 'oneaccessproviderregistrarip': request.form["oneaccess-provider-registrar-ip"],
                'oneaccessprovidergateway-ip': request.form["oneaccess-provider-gateway-ip"], 'oneaccesssbcwanip': request.form["oneaccess-sbc-wan-ip"],
                'oneaccessprovidernetmask': request.form["oneaccess-provider-netmask"], 'oneaccessdid': request.form["oneaccess-did"],
                'oneaccesspbxtype': request.form["oneaccess-pbx-type"], 'oneaccessipsecpresharedkey': request.form["oneaccess-ipsec-presharedkey"],
                'oneaccessipsecvpninterface': request.form["oneaccess-ipsec-vpninterface"], 'oneaccessipsectranslatedsubnet': request.form["oneaccess-ipsec-translatesubnet"],
                'oneaccesscustomer-subnetmask': request.form["oneaccess-customer-subnetmask"], 'oneaccesscustomerlanip': request.form["oneaccess-customer-lan-ip"],
                'oneaccesssbclanip': request.form["oneaccess-sbc-lanip"], 'oneaccessntpserver': request.form["oneaccess-ntp-server"],
                'oneaccessdnsserver': request.form["oneaccess-dns-server"],
                }]

HTML 表单代码:

<li>
    <label for="voice-lan-gateway">Voice LAN gateway IP:</label>
    <input type="text" id="voice-lan-gateway" name="oneaccess-customer-gateway">
</li>

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用 request.form.get("name_of_field") 而不是 request.form["name_of_field"]

当您使用 request.form["name_of_field"] 时,flask 假定它们的键将始终存在。您可以通过使用另一个或 tryexcept 技巧来避免这种情况。