Langsung ke konten utama

Decorator Bagian 1 | 6 Belajar REST API Dengan Python Flask

Di tutorial sebelumnya kita sudah memakai decorator route yang berada di class flask, selain itu kita juga sudah belajar membuat dan memakai decorator buatan sendiri, di tutorial kali ini kita akan mencoba memahami penggunaan decorator lebih dalam.

Decorator sebenarnya hanya sebuah method biasa pada umumnya, namun berbeda, bedanya hanya pada parameter yang dia terima, parameter yang di terima oleh decorator ialah sebuah method juga, decorator ini bisa juga di sebut wrapper ( method pembungkus ) yang berfungsi untuk mengolah method lain.

Untuk latihan decorator bisa mencoba kode berikut :
Dari kode di atas, kita ketahui:
  • method yang bernama contoh_decorator adalah sebuah decorator
  • untuk menggunakan decorator kita cukup menggunakan simbol @ di depan nama decorator.
  • untuk memasukkan method ke dalam decorator kita cukup mendeklarasikannya setelah pemanggilan dekorator. 
  • Jadi, method yang bernama coba dan coba_gan akan masuk kedalam decorator yang bernama contoh_decorator, langsung di eksekusi kemudian akan di kelolah oleh decorator tersebut.

Simple Login Flask

Kita bisa membuat decorator sendiri untuk flask, misalnya decorator yang berfungsi untuk mencegah user mengakses route tertentu jika dia belum login, namun sebelum kita membuat decorator tersebut kita akan belajar alogritma sistem login di flask secara simplenya, berikut contohnya :

kita perlu beberapa bahan, silahkan di import beberapa paket dari flask :
kemudian deklarasi flask dengan memasukkannya kedalam variabel yang bernama app,  lalu buat variabel session_nya yang nantinya berfungsi untuk menyimpan sesi user yang login, seperti berikut: buat empat buah route, seperti ini :
seperti yang terlihat disana, kita membuat empat buah route yang dimana methodnya menggunakan variabel session_nya sebagai pemilihan response yang akan di berikan ke user, penjelasannya seperti berikut :
  • Variabel session_nya merupakan variabel yang berfungsi untuk menyimpan session user yang sedang login
  • Pada route /login kita memasukkan satu nilai dari dictionary session_nya dengan key user dan value arian, sebagai simulasi data user yang login.
  • Pada route /home kita akan bisa melihat kalimat "hai arian" jika variabel session_nya sudah di isi dengan key user, untuk mengisi key tersebut ialah cukup dengan pergi ke route /login seperti penjelasan tadi, jika tidak maka route tersebut akan menampilkan pesan "anda belum login", ini sama halnya dengan route /setting. 
  • Pada route /logout kita mengeluarkan isi dictionary session_nya yang keynya adalah user untuk simulasi logout dari user
  • method abort yang di import dari flask adalah method yang di khususkan untuk menampilkan response error dengan kode tertentu, anda bisa cari tahu arti dari kode error disini, https://developer.mozilla.org/id/docs/Web/HTTP/Status, selain itu kita juga bisa membuat method response sendiri, kita akan bahas di postingan kedepannya.
Jangan lupa gunakan method run untuk menjalankan aplikasi flask jika script tersebut di eksekusi : 

save dengan nama terserah anda, misalnya aplikasi.py
untuk full codenya anda bisa lihat disini :
Kemudian eksekusi dengan python di terminal : 
start flask
Kita sudah berhasil membuat sistem login, namun masalahnya jika satu perangkat(hp/laptop/dll) melakukan login maka di semua perangkat juga akan berstatus login, knp ? karena semua user mengakses variabel yang sama, yaitu variabel yang bernama session_nya dan tak ada yang membuatnya berbeda, ini terlihat aneh namun cukup untuk memberi gambaran bagaimana sistem login di flask.

Agar semua user tidak memakai session yang sama, kita bisa membuatnya sendiri, flask  sudah menyediakan variable session yang digunakan untuk mengolah dan mengatur session user, kita akan belajar ini di postingan selanjutnya.

Terimakasih

Komentar

Postingan populer dari blog ini

Apa itu API | 1 Belajar REST API Dengan Python Flask

Dalam sesi ini kita akan belajar cara membuat API menggunakan Flask, di perlukan sedikit dasar bahasa pemrograman python untuk mempermudah dalam mempelajari ini, dan jangan kawatir jika anda belum pernah  Belajar Flask  sebelumnya, karena pada tutorial kita akan membahas dari dasar. Flask ini framework yang sangat cocok digunakan untuk membuat suatu service yang kecil, dan ini telah banyak di gunakan oleh perusahaan-perusahaan besar, anda bisa lihat  disini . Di saat saya menulis tutorial ini, pengembangan Flask sudah mencapai seperti berikut: Contributors :503 Commits : 3,5037 Ok, saya akan mulai dengan membahas apa itu API ? API (Application programming interface) - Mudahnya bisa di sebut sebuah service yang berfungsi untuk menghubungkan service antar service, contohnya frontend dan backend agar bisa bertukar data kita butuh yang namanya API Service, jadi kalau istilah lainnya ini bisa di sebut sebuah gerbang penghubung. Secara "garis besar" pekerjaan pr

Flutter Tutorial Indonesia | 1 Pendahuluan

Setelah rilisnya bahasa pemrograman Dart yang di kembangkan oleh google pada tahun 2011 kini bahasa tersebut sudah memiliki framework yang bisa digunakan untuk membuat aplikasi moile yaitu untuk android dan ios sekaligus dalam satu waktu. Flutter juga digunakan sebagai framework utama dalam pengembangan aplikasi untuk OS Google Fuchsia. Tentang Flutter : Menggunakan Library Grafik Google Skia untuk mesin rendernya, alias tidak menggunakan bawan dari android atau iOS, dan ini yang membuat tampilan di android, iOS, atau desktop tetap sama. Semua UI adalah Widget Rendering Lebih Cepat Tidak hanya untuk membuat UI Flutter juga untuk menangani aliran data dan status data yang rumit dengan cara yang elegan dengan model Reactive. Dalam acara Google I/O 2018 menyatakan bahwa sekarang sudah menyediakan dokumentasi yang lengkap di flutter.dev dan anda bisa langsung belajar framework ini dari dokumentasi tersebut atau bisa mengambil courses di udacity atau tempat courses lainnya sep

Routing | 5 Belajar REST API Dengan Python Flask

Secara umum situs menyediakan beberapa link untuk bisa mengunjungi halaman pada websitenya, contoh pada situs facebook untuk melihat halaman profil linknya bisa  facebook.com/rhyanz46 , untuk melihat daftar yang kita simpan linknya  facebook.com/saved ,   proses pembuatan link ini bisa di sebut routing, tutorial kali ini kita akan belajar routing di flask. Sebenarnya pada tutorial sebelum-nya kita sudah menggunakan route, namun disini saya akan menjelaskan beberapa hal lagi seputar routing. URL secara umum di bagi menjadi dua sifat yaitu dinamis dan statis URL Statis  adalah url yang berfungsi untuk menampilkan suatu halaman dengan jenis data yang berbeda dengan halaman yang lainnya, seperti di suatu website kita ketahui ada halaman about, home, privacy and policy, dll. Contoh, sebut saja situs anda adalah ariansaputra.com  dan anda ingin membuat halaman 'about' dengan url  ariansaputra.com/about  , seperti tutorial sebelumnya kita bisa membuatnya dengan cara: URL d