Flask Click - @kholidfu

Table of Contents

1 What

Semenjak versi 0.11, Flask diintegrasikan dengan fitur baru yakni click command line interface.1 click sendiri merupakan pustaka python yang dikembangkan oleh pembuat Flask sendiri2.

2 How

Mari kita coba:

# go to app dir
cd myapp
# aktifkan virtual environment
source bin/activate
# jalankan flask --help untuk melihat daftar parameter default
flask --help

By default, ada 3 parameter yang bisa kita gunakan:

run
shell
--help

Parameter 1, untuk menjalankan server lokal di development mode, parameter kedua untuk menjalankan python interpreter sesuai dengan virtual environment aplikasi kita. Dan yang ketiga untuk menampilkan bantuan terkait dengan Flask-click itu sendiri.3

Selain parameter bawaan, dengan fitur ini, membuat custom command di Flask menjadi sangat mudah. Berikut ini adalah contoh penggunaannya:

Kita membuat custom command untuk menghapus dan membuat DB baru.

import click
from flask import Flask
from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)

db = SQLAlchemy(app)

@app.cli.command()
def initdb():
    '''Init db.

    '''
    db.drop_all()
    db.create_all()
    click.echo('DB Created')

Sebelumnya, pastikan path menuju ke aplikasi Flask Anda sudah terkonfigurasi. Saya prefer dengan menambahkan kedua baris berikut ke berkas bin/activate:4

export FLASK_APP=$VIRTUAL_ENV/app/__init__.py
export FLASK_DEBUG=1

Jalankan perintah initdb diatas:

flask initdb

Footnotes:

1

Sebenarnya ada juga 3rd party extension yang berfungsi sama, yakni Flask-script, namun karena Flask-click adalah extension bawaan, saya lebih prefer menggunakan yang bawaan saja.

3

Kalau Anda terbiasa dengan framework django, mungkin ini setara dengan django-admin custom command.

4

Atau jika tidak ingin permanen, cukup jalankan kedua perintah di terminal emulator favorit Anda.

Date: <2016-09-01 Thu>

Author: Kholid Fuadi

Created: 2016-10-16 Sun 06:42

Emacs 25.1.1 (Org mode 8.2.10)

Validate