Flask WTF



  • WTF stands for WT Forms.
  • To provide the interactive user interface for the user.
  • It is a built-in module of the flask which provides an alternative way of designing forms in the flask web applications.

Why WTF Useful ?

  • The form elements are sent along with the request object from the client side to the server side. Server-Side script must recreate the form elements since there's no direct mapping between the client side form elements and therefore the variables to be used at the server side.
  • There is no way to render the HTML form data at real time.
  • The WT Forms may be a flexible, form rendering, and validation library wont to provide the interface.

Install Flask-WTF

  • To use the WT forms, we need to install the flask-wtf library which can be installed using pip installer.
$ pip install flask-wtf   

Standard Form Fields are listed:

SN Form Field Description
1 BooleanField It is used to represent the checkbox HTML form element.
2 DecimalField It is used to represent the text field to display the numbers with decimals.
3 BooleanField It is used to represent the checkbox HTML form element.
4 IntegerField It is used to represent the text field to display the integer values.
5 RadioField It is used to represent the radio button HTML form element.
6 selectField It is used to represent the select form element.
7 TextAreaField It is used to represent text area form element.
8 PasswordField It is used to take the password as the form input from the user..
9 SubmitField It provides represents the <input type='submit' value='Submit'> html form element.

Sample code

Here we will create a form using flask WTF module.


from flask_wtf import Form 
from wtforms import TextField, IntegerField, TextAreaField, SubmitField, RadioFied, SelectField  
from wtforms import validators, ValidationError  
class ContactForm(Form): 
   name = TextField("Candidate Name ",[validators.Required("Please enter your nme.")])  
  Gender = RadioField('Gender', choices = [('M','Male'),('F','Female')])  
   ddress = TextAreaField("Address")  
 email = TextField("Email",[validators.Required("Please enter your email address.),  
   alidators.Email("Please enter your email address.")])  
   Age = IntegerField("Age") 
language = SelectField('Programming Languages', choices = [('java', 'Java'),('py' 'Python')])  
   submit = SubmitField("Submit")  


from flask import Flask, render_template, request, flash  
from forms import ContactForm  
app = Flask(__name__)  
app.secret_key = 'development key'  
@app.route('/contact', methods = ['GET', 'POST'])  
def contact():  
   form = ContactForm()  
   if form.validate() == False:  
      flash('All fields are required.')  
   return render_template('contact.html', formform = form)  
@app.route('/success',methods = ['GET','POST'])  
def success():  
   return render_template("success.html")  
if __name__ == '__main__':  
   app.run(debug = True)  


<!doctype html>  
      <h2 style = "text-align: center;">Registration Form</h2>  
      {% for message in form.name.errors %}  
         <div>{{ message }}</div>  
      {% endfor %}  
      {% for message in form.email.errors %}  
         <div>{{ message }}</div>  
      {% endfor %}  
      <form action = "http://localhost:5000/success" method = "POST">  
            {{ form.hidden_tag() }}  
            <div style = "font-size:18px;" font-weight:bold; margin-left:150px;>  
               {{ form.name.label }}<br>  
               {{ form.name }}  
               {{ form.Gender.label }} {{ form.Gender }}  
               {{ form.Address.label }}<br>  
               {{ form.Address }}  
               {{ form.email.label }}<br>  
               {{ form.email }}  
               {{ form.Age.label }}<br>  
               {{ form.Age }}  
               {{ form.language.label}}<br><br>  
               {{ form.language }}  
               {{ form.submit }}  


<!DOCTYPE html>  
<h1>Form posted successfully</h1>  




If you want to learn about Python Course , you can refer the following links Python Training in Chennai , Machine Learning Training in Chennai , Data Science Training in Chennai , Artificial Intelligence Training in Chennai

Related Searches to Flask WTF

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add wikitechy.com to your ad blocking whitelist or disable your adblocking software.