Monday, June 20, 2022

Belajar Framework Flask - Flask MVC

 

Dalam membuat sebuah aplikasi tentu perlu memikirkan architecture pattern yang akan digunakan, tujuanya adalah ketika aplikasi semakin kompleks maka tidak mengalami kesulitan untuk mengatur kodenya. maka diperlukan architecture MVC.

Design pattern adalah sebuah kosep atau tehnik yang diterapkan dalam membuat sebuah aplikasi. MVC adalah singkatan dari ( Model View Controller ) yaitu sebuah cara atau pola yang digunakan dalam mebuat aplikasi.

Berbicara masalah MVC design pattern maka perlu mengetahui tiga hal atau tiga kata kunci ini :

  • Model Adalah cara mengolah data.
  • View Adalah cara membuat user interface atau tampilan dari sebuah aplikasi.
  • Controller Adalah tempat melakukan proses yang cukup rumit dari aplikasi .

MVC on Flask

Pada aplikasi flask agak sedikit perbedaan penamaan. Yang paling mencolok nanti adalah ketika ingin mengurusi view maka disini menggunakan templates.


Nah berikut ini adalah contoh aplikasi yang tidak mengimplementasikan MVC.

from flask import Flask app = Flask(__name__) def index(): return "Hello world." app.add_url_rule('/', 'index', index) app.run()

Sekilas contoh diatas tidak masalah, simple dan juga jelas. Akan tetapi permasalahan adalah bagaimana kalau memilii 100 type route dan 100 prosess yang berbeda yang cukup kompleks. Masih bisa di buat, tapi itu akan membuat kode yang ditulis didalam satu file akan menjadi cukup banyak dan akan membuat kesulitan untuk melakukan debugging jika terjadi error.

Struktur project terlebih dahulu :

|---project-flask |---app |---__init__.py |---models.py |---cores |---__init__.py |---admin |---__init__.py |---controller.py |---route.py |---auth |---__init__.py |---controller.py |---route.py |---static |---app.css |---app.js |---templates |---auth |---admin |---index.html |---migrations |---tests |---config.py |---run.py

Diatas adalah contoh struktur project aplikasi yang akan dibuat dengan flask, akan dibahas satu per satu struktur nya.

#FolderKeterangan
1appPada folder app ini akan digunakan untuk menaruh segala file yang akan dibuat
2migrationsPada folder migration ini sebenarnya akan di generate otomatis yang mana nanti disini isinya adalah file - file untuk migration database
3testsPada folder test berisi file - file yang digunakan untuk unit testing
4app/coresPada folder app/cores ini akan berisi modul - model dari aplikasi yang akan ditulis.
5app/cores/adminPada folder app/cores/admin contoh dari module admin.
6app/coresPada folder app/cores/auth ini adalah contoh module Authentication.
7app/staticPada folder app/static ini digunakan untuk file static atau yang tidak berubah secara dinamis, seperti gambar, file css, file js dan yang lainya.
8app/templatePada folder app/templates ini digunakan untuk menaruh file html untuk aplikasi.

Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...