UCONN

UCONN
UCONN

App engine: Flask HTML Form

 

App Engine: Flask HTML Data Form


The average cloud developer salary in the USA is $130,000 per year or $62.50 per hour. Entry level positions start at $112,028 per year while most experienced workers make up to $165,481 per year.


Show me the Money

Create directory for webform


Go to cloud shell

 


Welcome to Cloud Shell! Type "help" to get started.

Your Cloud Platform project in this session is set to uconn-engr.

Use “gcloud config set project [PROJECT_ID]” to change to a different project.

john_iacovacci1@cloudshell:~ (uconn-engr)$ mkdir webform



Right click directory for new file


 




Create a file in that directory called main.py


==========================================================

from flask import Flask, request, render_template


app = Flask(__name__)

@app.route('/', methods=['POST','GET'])        

def run_quickstart():

    if request.method == 'POST':

        data = request.form.to_dict(flat=True)  

        Name = data['my-name']

        Address = data['my-address']

        City = data['my-city']

        State = data['my-state']

        Zip  = data['my-zip']

        Phone = data['my-phone']

                      Email = data['my-email']

        Comments = data['my-comments']

        return render_template('formdata.html', FormName=Name, FormAddress=Address, FormCity=City, FormState=State, FormZip=Zip, FormPhone=Phone, FormEmail=Email, FormComments=Comments)

    else:

         return render_template('index.html')


if __name__ == "__main__":

    app.run(host="127.0.0.1", port=8080, debug=True)



=========================================================

Create another file in the same directory called requirements.txt

=========================================================

Flask==3.0.1

=========================================================

Create file called app.yaml

=========================================================

runtime: python39

=========================================================

Create a new folder called templates and create html files in that directory


Select the templates folder


templates/index.html

=========================================================

 <!DOCTYPE html>

<html lang="en">

        <head>

        <title>Form Validation</title>

        <script>

        function validateForm() {

          let name = document.forms["myForm"]["my-name"].value;

          let email = document.forms["myForm"]["my-email"].value;

       

          if (name == "") {

            alert("Name must be filled out");

            return false;

          }

       

          if (email == "") {

            alert("Email must be filled out");

            return false;

          }

       

          // Add more validation rules as needed

        }

        </script>

        </head>

       


<body>

<h2>Input</h2>

<form name="myForm" onsubmit="return validateForm()" method="post" action="/">

     Name:  <input type="text" name="my-name"></p>

     Address: <input type="text" name="my-address"></p>

     City: <input type="text" name="my-city"></p>

     State: <input type="text" name="my-state"></p>

     Zip: <input type="text" name="my-zip"></p>

     Phone: <input type="text" name="my-phone"></p>

     Email: <input type="text" name="my-email"></p>

     Comments: <textarea name="my-comments" rows="10" cols="30"> </textarea><br>

<button type="submit">Submit</button>

</form>

</body>

</html>

 



=========================================================


Then create a file called 

templates/formdata.html

=========================================================

<!doctype html>

<html>

<body>

<h2>Customer Information</h2>

            <p>

                Name:    {{ FormName }} <br>

                Address: {{ FormAddress }} <br>

                City:    {{ FormCity }} <br>

                State:   {{ FormState }} <br>

                Zip:     {{ FormZip }} <br>

                Phone:   {{ FormPhone }} <br>

                Email:   {{ FormEmail }} <br>

                Comments:{{ FormComments }}

              

            </p>

        </body>

            </html>

            =========================================================

Save all

Open Terminal

Change directory into webforms

john_iacovacci1@cloudshell:~ (uconn-engr)$ cd webform

john_iacovacci1@cloudshell:~/webform (uconn-engr)$



Type in gcloud app deploy and then authorize

john_iacovacci1@cloudshell:~/webform (uconn-engr)$ gcloud app deploy

Services to deploy:

descriptor:                  [/home/john_iacovacci1/webform/app.yaml]

source:                      [/home/john_iacovacci1/webform]

target project:              [uconn-engr]

target service:              [default]

target version:              [20220207t013140]

target url:                  [https://uconn-engr.uc.r.appspot.com]

target service account:      [App Engine default service account]



Do you want to continue (Y/n)? 

Type Y



Beginning deployment of service [default]...

Uploading 0 files to Google Cloud Storage

100%

File upload done.

Updating service [default]...done.     

Setting traffic split for service [default]...done.     

Deployed service [default] to [https://uconn-engr.uc.r.appspot.com]

You can stream logs from the command line by running:

  $ gcloud app logs tail -s default

To 

view your application in the web browser run:

  $ gcloud app browse

john_iacovacci1@cloudshell:~/webform (uconn-engr)$

Go to your App Engine Dashboard

Click application link




Web Form



1 comment:

Disable Billing

Search for Billing Manage billing accounts Go to MYPROJECTS CLICK ON THE 3 BUTTON Actions Then hit disable