Flask #
Flask adalah web framework mikro untuk Python yang dirancang untuk memudahkan pengembangan aplikasi web. Flask memberikan kebebasan yang besar kepada pengembang karena tidak memaksakan penggunaan struktur tertentu atau komponen tertentu seperti Django. Anda dapat memilih sendiri komponen apa saja yang ingin Anda gunakan.
Instalasi Flask #
Untuk memulai dengan Flask, Anda harus menginstalnya terlebih dahulu. Anda dapat menggunakan pip
untuk menginstal Flask.
pip install flask
Membuat Aplikasi Flask #
Setelah Flask terinstal, Anda dapat membuat aplikasi Flask sederhana. Buat file Python, misalnya app.py
, dan tulis kode berikut:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
Kode di atas mendefinisikan aplikasi Flask dengan satu route (/
) yang mengembalikan teks “Hello, World!”. Untuk menjalankan aplikasi ini, cukup jalankan file app.py
:
python app.py
Aplikasi akan berjalan di http://127.0.0.1:5000/
.
Routing #
Flask menggunakan dekorator @app.route
untuk menghubungkan URL dengan fungsi view. Berikut adalah contoh beberapa route dasar:
@app.route('/')
def home():
return 'Home Page'
@app.route('/about')
def about():
return 'About Page'
Menggunakan Template #
Flask mendukung penggunaan template Jinja2 untuk memisahkan logika aplikasi dan tampilan HTML. Berikut adalah contoh penggunaan template:
Template HTML #
Buat direktori templates
dan buat file index.html
di dalamnya:
<!-- templates/index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>{{ title }}</h1>
<p>Welcome to {{ name }}'s website.</p>
</body>
</html>
Menggunakan Template di View #
Modifikasi app.py
untuk menggunakan template:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html', title='Home Page', name='John Doe')
if __name__ == '__main__':
app.run(debug=True)
Mengambil Data dari Formulir #
Flask memungkinkan Anda untuk mengambil data dari formulir HTML dengan mudah. Berikut adalah contoh sederhana:
Template HTML untuk Formulir #
Buat file form.html
di direktori templates
:
<!-- templates/form.html -->
<!DOCTYPE html>
<html>
<head>
<title>Submit Form</title>
</head>
<body>
<form action="/submit" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<input type="submit" value="Submit">
</form>
</body>
</html>
View untuk Menangani Formulir #
Modifikasi app.py
untuk menangani data formulir:
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('form.html')
@app.route('/submit', methods=['POST'])
def submit():
name = request.form['name']
return f'Hello, {name}!'
if __name__ == '__main__':
app.run(debug=True)
Menghubungkan ke Database #
Flask mendukung berbagai macam database melalui ekstensi seperti Flask-SQLAlchemy
. Berikut adalah contoh sederhana penggunaan Flask dengan SQLAlchemy:
Instalasi Flask-SQLAlchemy #
Instal Flask-SQLAlchemy menggunakan pip
:
pip install flask-sqlalchemy
Mengkonfigurasi Database #
Modifikasi app.py
untuk mengonfigurasi dan menggunakan database:
from flask import Flask, request, render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
@app.route('/')
def home():
return render_template('form.html')
@app.route('/submit', methods=['POST'])
def submit():
name = request.form['name']
user = User(name=name)
db.session.add(user)
db.session.commit()
return f'Hello, {name}!'
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
Penggunaan Blueprint #
Blueprints memungkinkan Anda untuk membagi aplikasi Flask besar menjadi beberapa modul yang lebih kecil. Berikut adalah contoh sederhana penggunaan blueprint:
Membuat Blueprint #
Buat direktori myblueprint
dan file __init__.py
di dalamnya:
# myblueprint/__init__.py
from flask import Blueprint
bp = Blueprint('myblueprint', __name__)
@bp.route('/hello')
def hello():
return 'Hello from Blueprint!'
Mendaftarkan Blueprint #
Modifikasi app.py
untuk mendaftarkan blueprint:
from flask import Flask
from myblueprint import bp as myblueprint_bp
app = Flask(__name__)
app.register_blueprint(myblueprint_bp)
if __name__ == '__main__':
app.run(debug=True)
Kesimpulan #
Flask adalah framework yang ringan dan fleksibel yang memungkinkan pengembang membangun aplikasi web dengan cepat dan mudah. Dengan menggunakan Flask, Anda memiliki kebebasan untuk memilih komponen dan alat yang Anda butuhkan tanpa dibatasi oleh konvensi ketat. Untuk informasi lebih lanjut, Anda bisa merujuk ke dokumentasi resmi Flask.