Skip to content
Advertisement

Sending data from HTML form to a Python script in Flask

I have the code below in my Python script:

JavaScript

Also, I have an HTML form in init.html:

JavaScript

How can I pass the user input from “projectFilepath” when a user clicks “spotButton” on a variable in my python script?

I’m new in Python and Flask, so forgive me if I make any mistakes.

Advertisement

Answer

The form tag needs some attributes set:

  1. action: The URL that the form data is sent to on submit. Generate it with url_for. It can be omitted if the same URL handles showing the form and processing the data.
  2. method="post": Submits the data as form data with the POST method. If not given, or explicitly set to get, the data is submitted in the query string (request.args) with the GET method instead.
  3. enctype="multipart/form-data": When the form contains file inputs, it must have this encoding set, otherwise the files will not be uploaded and Flask won’t see them.

The input tag needs a name parameter.

Add a view to handle the submitted data, which is in request.form under the same key as the input’s name. Any file inputs will be in request.files.

JavaScript

Set the form’s action to that view’s URL using url_for:

JavaScript
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement