This Flask app shows a login form with username, password, and a remember me checkbox. When submitted, it greets the user and shows if they want to be remembered.
from flask import Flask, render_template_string, request
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from wtforms.validators import DataRequired
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret-key'
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
remember_me = BooleanField('Remember Me')
submit = SubmitField('Sign In')
@app.route('/', methods=['GET', 'POST'])
def login():
form = LoginForm()
message = ''
if form.validate_on_submit():
message = f"Hello, {form.username.data}! Remember me: {form.remember_me.data}"
return render_template_string('''
<form method="POST">
{{ form.hidden_tag() }}
<p>{{ form.username.label }} {{ form.username() }}</p>
<p>{{ form.password.label }} {{ form.password() }}</p>
<p>{{ form.remember_me() }} {{ form.remember_me.label }}</p>
<p>{{ form.submit() }}</p>
</form>
<p>{{ message }}</p>
''', form=form, message=message)
if __name__ == '__main__':
app.run(debug=True)