LOGIN DENGAN PYTHON FLASK TANPA MySQL??? Yuk simak caranya untuk pemula!!!

    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