-1

I'm currently writing an app in flask but I seem to stumble on this issue where I get a 400 bad request error everytime I post a form. Could anybody find the mistake I made? Appearently the error comes on the element with HTML name "oneaccess-customer-gateway".

Flask code:

    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 form code:

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

Thanks a lot for the help.

Parzival
  • 2,051
  • 4
  • 14
  • 32
izomac
  • 3
  • 1

1 Answers1

0

Try using request.form.get("name_of_field") instead of just request.form["name_of_field"].

When you use request.form["name_of_field"], flask assumes that they key will always be there. you canavoid this by using the other one, or the try and except trick.

Amrovic
  • 344
  • 5
  • 13