Selasa, 31 Maret 2020

Perkenalan Flask dan melakukan konfigurasi awal



       Flask adalah sebuah web app framework. Apa itu Framework? Framework adalah sebuah kode library yang berisi tools dan lainnya yang mana framework dapat membuat pekerjaan developer menjadi lebih mudah, yaitu memberikan kode atau ekstensi yang dapat digunakan kembali untuk operasi umum. Ada beberapa framework di python, termasuk Flask, Django, Tornado dan Pyramid. Sering kali seorang programer pemula selalu mepermasalahkan dan membandingkan mana yang lebih baik, padahal apapun framework yang digunakan tidak akan merubah hasil akhir dari pekerjaan kita ya karna tolak ukurnya bukan di framework tapi di skill masing-masing.

       Pada tahap pembejalaran flask kali ini saya akan menyebutkan langkah-langkah apa saja yang akan kita lakukan pada flask tutorial seris ini. 

Login dan register
User dapat membuat, mengedit dan menghapus postingan dan komen
User dapat mengupload foto menghapus foto 
Applikasi dapat megirim email 
Membuat Panel admin


Konfigurasi dan install Flask

Seperti kebanyakan python library Flask juga tersedia di pip. Langkah pertama membuat forlder flask "Tidak harus bernama flask apa saja yang penting membuat folder" selanjutnya kita akan membuat python virtual environment dan menginstall flask setelah menginstall flask hal yang kita butuhkan adalah membuat aplikasi flask kita bisa berkomunikasi dengan sql yaitu dengan menginstall flask-sqlalchemy berikut adalah langkah yang saya lakukan apabila menggunkan command line atau cmd:

Windows cmd:



Linux bash


Terkadang Kita menjalakan aplikasi web kita di sistem operasi yang berbeda dan kita tidak tau library apa saja yang sedang kita gunakan di aplikasi. Nah untuk mengahandle, cara terbaik adalah dengan menambakan requirements.txt ke dalam project root kita dengan menggunakan pip.



Sekarang mari kita berbicara tentang app.py pada aplikasi kita yang mana kita akan membuat object app ini adalah turunan dari Flask object dan akan menjadi pusat konfigurasi dari semua aplikasi. object app juga digunakan untuk konfigurasi database dan lainnya. Kode dibawah akan mejelaskan apa yang saya maksut


Code diatas saya tidak menambahkan app.route karena aplikasi akan menggunakan blueprint. Berikut alasan mengapa saya mengunakan blueprint untuk aplikasi ini:

Sangat ideal untuk aplikasi yang besar
Registrasi blueprint dapat dilakukan berkali-kali dengan aturan yang berbeda
Dapat memfilter folder static dan template tanpa harus menambkan fungsi
Membuat URL defaul

Tahan selanjutnya membuat folder bernama src dan menambahkan file __init__.py kedalam folder src. Lalu kita akan membuat object bernama views ini merupakan turunan kelas dari Blueprint 



setelah selesi kita harus melakukan registrasi ke app.py dengan cara seperti kode dibawah