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:
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 :
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 :
untuk full codenya anda bisa lihat disini :
Kemudian eksekusi dengan python di terminal :
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
Terimakasih
Komentar
Posting Komentar