Untuk membuat login sederhana dengan Python dan Flask, Sobat perlu mengikuti langkah-langkah berikut. Langkah-langkah ini mencakup instalasi Flask, membuat struktur proyek, dan membuat rute login dasar dengan autentikasi pengguna.
1.
Instal Flask
Pastikan Anda
sudah menginstal Flask. Jika belum, Anda bisa menginstalnya menggunakan pip:
pip install Flask
2.
Struktur Proyek
Buat
struktur direktori untuk aplikasi Anda:
my_flask_app/
├── app.py
├── templates/
├── login.html
└── home.html
3. Buat
File app.py
Buat
file app.py
dan tambahkan kode berikut:
from flask import Flask, render_template, request, redirect,
url_for, flash, session
from werkzeug.security import generate_password_hash,
check_password_hash
app = Flask(__name__)
app.secret_key = 'your_secret_key'
# Dummy user data
users = {
"admin":
generate_password_hash("password123")
}
@app.route('/')
def home():
if 'username' in
session:
return
render_template('home.html', username=session['username'])
return
redirect(url_for('login'))
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method ==
'POST':
username =
request.form['username']
password =
request.form['password']
if username in
users and check_password_hash(users[username], password):
session['username'] = username
flash('Login
successful!')
return
redirect(url_for('home'))
else:
flash('Invalid
username or password')
return
render_template('login.html')
@app.route('/logout')
def logout():
session.pop('username', None)
flash('You have been
logged out.')
return
redirect(url_for('login'))
if __name__ == '__main__':
app.run(debug=True)
4. Buat
Template HTML
Buat templates/login.html
dan tambahkan kode berikut:
<!DOCTYPE html>
<html lang="en">
<head>
<meta
charset="UTF-8">
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form
method="POST">
<label
for="username">Username:</label>
<input
type="text" name="username" required>
<br>
<label
for="password">Password:</label>
<input
type="password" name="password" required>
<br>
<button
type="submit">Login</button>
</form>
{% with messages =
get_flashed_messages() %}
{% if messages %}
<ul>
{% for message
in messages %}
<li>{{
message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
</body>
</html>
templates/home.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta
charset="UTF-8">
<title>Home</title>
</head>
<body>
<h1>Welcome, {{
username }}!</h1>
<a href="{{
url_for('logout') }}">Logout</a>
</body>
</html>
5.
Jalankan Aplikasi
Jalankan
aplikasi Flask di terminal dengan perintah berikut:
python app.py
Sekarang,
Sobat dapat membuka browser dan mengunjungi http://127.0.0.1:5000/login
untuk
melihat halaman login Anda. Masukkan username "admin" dan password
"password123" untuk login.
Dengan
struktur ini, Sobat memiliki aplikasi Flask sederhana dengan fungsionalitas
login dasar. Sobat dapat memperluas aplikasi ini dengan menambahkan fitur-fitur
lain seperti registrasi pengguna, penyimpanan data di database, dan sebagainya
sesuai kebutuhan.
Jangan lupa untuk kunjungi situs web ini ya sobattt:)
Komentar
Posting Komentar