Flask Login Form Creation with Validation

  • Share this:

Code introduction


This code uses Flask and Flask-WTF libraries to create a simple login form with username, password, and remember me checkbox, and applies validators such as InputRequired, Length, and Email.


Technology Stack : Flask, Flask-WTF, StringField, PasswordField, BooleanField, InputRequired, Length, Email, EqualTo

Code Type : Web login form generation

Code Difficulty : Intermediate


                
                    
from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField
from wtforms.validators import InputRequired, Length, Email, EqualTo

app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key'

class LoginForm(FlaskForm):
    username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
    password = PasswordField('Password', validators=[InputRequired(), Length(min=8, max=80)])
    remember = BooleanField('Remember me')

def generate_login_form():
    """
    Generate a login form using Flask-WTF and Flask.
    The form includes username, password, and remember fields with appropriate validators.
    """
    return LoginForm()

@app.route('/login', methods=['GET', 'POST'])
def login():
    form = generate_login_form()
    if form.validate_on_submit():
        return render_template('login.html', title='Login', form=form)
    return render_template('login.html', title='Login', form=form)

if __name__ == '__main__':
    app.run(debug=True)