我目前正在用 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>
非常感谢您的帮助。
答案 0 :(得分:0)
尝试使用 request.form.get("name_of_field")
而不是 request.form["name_of_field"]
。
当您使用 request.form["name_of_field"]
时,flask 假定它们的键将始终存在。您可以通过使用另一个或 try
和 except
技巧来避免这种情况。