Login Python

Arsip Terupdate
# Membuat form login dengan Flask-WTF from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField from wtforms.validators import DataRequired, Length class LoginForm(FlaskForm): username = StringField('Username', validators=[DataRequired(), Length(min=2, max=20)]) password = PasswordField('Password', validators=[DataRequired()]) submit = SubmitField('Login') # Membuat fungsi login dengan Flask dan SQLAlchemy from flask import Flask, render_template, redirect, url_for, flash from flask_sqlalchemy import SQLAlchemy from login_form import LoginForm app = Flask(__name__) app.config['SECRET_KEY'] = 'secret' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db' db = SQLAlchemy(app) # Membuat model user dengan SQLAlchemy class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) password = db.Column(db.String(20), nullable=False) def __repr__(self): return f"User('{self.username}', '{self.password}')" # Membuat route untuk halaman login @app.route('/login', methods=['GET', 'POST']) def login(): form = LoginForm() if form.validate_on_submit(): # Mengecek apakah username dan password sesuai dengan database user = User.query.filter_by(username=form.username.data).first() if user and user.password == form.password.data: # Jika sesuai, redirect ke halaman utama flash('Anda telah login', 'success') return redirect(url_for('home')) else: # Jika tidak sesuai, tampilkan pesan error flash('Username atau password Anda salah', 'danger') return render_template('login.html', form=form) # Membuat route untuk halaman utama @app.route('/') def home(): return render_template('home.html') # Menjalankan aplikasi if __name__ == '__main__': app.run(debug=True)