Pada tutorial sebelumnya kita sudah membahas tentang struktur dream project flask framework dan juga cara membuat virtual environment untuk project python.

Ditutorial kali ini kita akan belajar bersama mengenai hal-hal terkait konfigurasi di flask framework. Berikut ini beberapa hal yang akan kita pelajari :

  1. install flask framework
  2. konfigurasi flask framework
  3. Konfigurasi Flask SQLAlchemy

1) Install Flask Framework

Sebelum melakukan instalasi Flask Framework pastikan kamu sudah mengaktifkan mode python environment, kemudian install menggunakan PIP

pip install Flask

install flask framework
install flask framework // halovina.com

2) Konfigurasi Flask Framework

pada tutorial sebelumnya kita telah membuat struktur dream project, untuk lebih memudahkan mengikuti tutorial ini buat terlebih dahulu struktur project seperti pada tutorial sebelumnya. Kemudian copy requirements berikut kedalam file requirements.txt

click==8.0.1
configparser==5.0.2
Flask==2.0.1
Flask-SQLAlchemy==2.5.1
greenlet==1.1.1
itsdangerous==2.0.1
Jinja2==3.0.1
MarkupSafe==2.0.1
SQLAlchemy==1.4.25
Werkzeug==2.0.1

jalankan perintah berikut pada terminal environment python yang sudah Anda buat

pip install -r requirements.txt

selanjutnya mari kita konfigurasi flask framework ikuti langkah-langkah berikut ini

a) Buat Index Route Project

Buka file home.py yang ada di direktory api->route->home.py, kemudian kita buat modular komponen route dengan menggunakan Blueprint, perhatikan kode dibawah ini:

from flask import Blueprint
from flask import jsonify
 
home = Blueprint('home', __name__)
 
@home.route('/')
def index():
    return jsonify({'message':'hello world'})

function index pada kode diatas akan di eksekusi saat pertama kali APP di panggil

b) buat konfigurasi project utama

Buka file __init__.py yang ada di direktori api->__init__.py, kemudian kita buat function create_app. Perhatikan kode berikut ini :

from flask import Flask
import os
 
def create_app():
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_pyfile('config.py')
 
    from api.route import home
    app.register_blueprint(home.home)
 
    return app

Di function create_app ini nantinya akan disi oleh semua konfigurasi dari project yang akan kita buat.

c) Buat Fungsi Run Project

Buka file app.py pada main project Anda, perhatikan kode berikut ini :

import os
 
from api import create_app
 
app = create_app()
if __name__ == '__main__':
    app.run()

 

Dari kode diatas saat pertama kali project dijalankan function create_app() akan di eksekusi. Untuk menguji hasil akhir dari konfigurasi flask framework, perhatikan kode berikut ini:

export FLASK_ENV=development
flask run

Jalankan command diatas pada terminal environment project flask Anda, jika sukses hasilnya akan seperti gambar dibawah ini:

flask run sample project
flask run sample project // halovina.com

3) Konfigurasi Database Mysql

Sebelumnya kita telah menginstall sqlAlchemy dan juga configparser yang ada di file requirements.txt.

SQLAlchemy adalah Python SQL toolkit dan Object Relational Mapper yang memberi pengembang aplikasi kemudahan dalam integrasi bahasa SQL.

a) Buka file config.py yang ada di dierktory instance, perhatikan kode berikut ini :

import configparser
config_parser = configparser.ConfigParser()
config_parser.read('config.ini')
 
 
class Config(object):
    """
    Common configurations
    """
 
 
class DevelopmentConfig(Config):
    """
    Development configurations
    """
    DEBUG = True
    SQLALCHEMY_ECHO = True
    SQLALCHEMY_DATABASE_URI = 'mysql://{0}:{1}@{2}/{3}'.format(
        config_parser['DBDEV']['DB_USER'],
        config_parser['DBDEV']['DB_PASS'],
        config_parser['DBDEV']['DB_HOST'],
        config_parser['DBDEV']['DB_NAME']
    )
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SECRET_KEY = config_parser['DEFAULT']['SECRET_KEY']
 
 
class ProductionConfig(Config):
    """
    Production configurations
    """
 
    DEBUG = False

 

Di file config.py terdapat dua class config yaitu development dan production, melalui dua class ini kita akan membedakan configurasi antara environment development dan production

b) Buka file config.ini

Berpindah ke direktori main project buka file config.ini dan perhatikan kode berikut:

[DEFAULT]
SECRET_KEY = 23232rerere1@t4!
 
[DBDEV]
DB_HOST = localhost
DB_USER = root
DB_PASS = admin
DB_NAME = sample

c) Buka file __init__.py, kemudian tambakan konfigurasi sqlAlchemy pada funcgsi create_app(), perhatikan kode berikut:

from instance.config import DevelopmentConfig
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
 
db = SQLAlchemy()
 
def create_app():
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_object(DevelopmentConfig)
    db.init_app(app)
 
    from api.route import home
    app.register_blueprint(home.home)
 
    return app

Pada sesi tutorial kali ini semua konfigurasi telah selesai Anda buat, sekarang saatnya Anda melakukan ujicoba pada project Anda. Jalankan ulang perintah berikut :

export FLASK_ENV=development
flask run

jika semua konfigurasi sukses anda melihat hasil akhir seperti gambar dibawah ini:

flask run sample project
flask run sample project // halovina.com

Untuk memastikan bahwa semua konfigurasi dasar project flask Anda sukses, buka web browser dan hasilnya akan seperti berikut:

flask run first project
flask run first project // halovina.com

Baca artikel lainya :

*** FULL SOURCE CODE