Apa yang pelajari dari Flask Python

Jufianto Henri
3 min readApr 1, 2019

--

hallo semua, kali ini saya akan berbagi hal yang saya lakukan untuk belajar pyhton menggunakan framework web python Flask. saya mengambil sumber tutorial dari sini. Disana ada 3 part dan akan saya bahas disini semuanya. tujuan saya mempelajari ini agar saya bisa memahami dasar flask untuk keperluan pengerjaan skripsi saya.

saya disini akan menggunakan anaconda virtual environtment untuk python. pertama kali saya download dan install anacona dan saya update dengan conda update conda

setelah install anaconda di linux, saya jalankan perintah berikut di terminal untuk menghentikan conda melakukan aktifasi base environtment setiap kali membuat terminal (sebenarnya enggak masalah sih, tapi menurut saya itu menganggu kebersihan terminal saya dan setiap memakai linux saya enggak selalu menggunakan anaconda)

conda config --set auto_activate_base false

setelah itu saya buat virtualenvnya dengan

conda create --name nama_env

setelah itu aktifkan dengan conda activate nama_env

setelah itu saya install package flask dan pip dengan cara. (ketika install

conda install flask pip mysqlclient

oh ya, seluruh codepy akan saya letak di github.

hal yang pertama dilakukan dengan mengedit file config.py menjadi seperti ini

class Config(object):
"""
konfig umum
"""
class DevelopmentConfig(Config):
DEBUG = True
SQLALCHEMY_ECHO = True
class ProductionConfig(Config):
DEBUG = False
app_config = {
'development': DevelopmentConfig,
'production': ProductionConfig
}

disini kita belajar memisahkan environment untuk produksi dan untuk development. setelah itu edit file __init__.py dan ketik sebagai berikut

# third-party imports
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# third-party imports
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# local imports
# import variabel app_config dari config
from config import app_config
# db variabel initialization
db = SQLAlchemy()
def create_app(config_name):
app = Flask(__name__, instance_relative_config=True)
app.config.from_object(app_config[config_name])
app.config.from_pyfile('config.py')
db.init_app(app)
return app

pada bagian koding atas kita lakukan inisiasi variabel database db dan kita buat fungsi dengan nama create_app. Fungsi instance_relative_config dan digabung app.config.from_pyfile('config.py)membuat app mengambil config dari file yang berasal dari folder instance dyang bernama config.php

karna kita akan mengambil setingan dari folder instance maka kita buat folder instance dan buat file bernama config.py dengan isian

SECRET_KEY = 'p9Bv<3Eid9%$i01'
SQLALCHEMY_DATABASE_URI = 'mysql://root:@localhost/crud-python'

disini kita menggunakan mysql sebagai database dan format skema url seperti

SQLALCHEMY_DATABASE_URI = 'mysql://username:password@localhost/nama_tabel'

setelah itu edit file run.py menjadi

import osfrom app import create_appconfig_name = os.getenv('FLASK_CONFIG')
app = create_app(config_name)
if __name__ == '__main__':
app.run()

di koding tersebut kita import dulu module bernama os dan fungsi create_app dari folder app. seterusnya pada variabel config_name berfungsi untuk mendapatkan environment variabel FLASK_CONFIG dan setelah itu di set fungsi create_app dengan config environment variabel yang telah diset

*note
untuk bisa berjalan environment variabelnya dengan server config harus dijalankan menggunakan python run.py atau jika menggunakan flask run harus di set environtmennya menggunakan export FLASK_ENV=development

untuk mencoba flask yang kita seting berjalan dengan sempurna, kita coba buat route di create_app sehingga app/__init__.py menjadi

# third-party imports
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# local imports
# import variabel app_config dari config
from config import app_config
# db variabel initialization
db = SQLAlchemy()
def create_app(config_name):
app = Flask(__name__, instance_relative_config=True)
app.config.from_object(app_config[config_name])
app.config.from_pyfile('config.py')
db.init_app(app)
@app.route('/')
def hello_world():
return 'Hello, World'
return app

untuk menjalankannya kita gunakan

export FLASK_CONFIG=development
export FLASK_APP=run.py
python run.py

atau jika ingin menggunakan flask command line agar setingan development tadi berjalan lancar gunakan

export FLASK_ENV =development
flask run

dan hasilnya sebagai berikut

--

--

Jufianto Henri
Jufianto Henri

Written by Jufianto Henri

Mendokumentasikan segala sesuatu yang dibuat kedalam tulisan yang tidak jelas

No responses yet