Dasar-dasar Flask

Selesai

Flask adalah web sumber terbuka "micro-framework". Ketika pembuat menggunakan istilah "micro-framework", maksud mereka bahwa kerangka kerja akan melakukan tugas yang diperlukan dari kerangka kerja web, tetapi tidak menyertakan fitur lanjutan, atau persyaratan spesifik lainnya yang harus diikuti aplikasi Anda agar dapat bekerja dengan benar. Pendekatan ini memungkinkan Flask menjadi sangat fleksibel, dan sempurna untuk digunakan sebagai ujung depan ke ujung belakang atau API yang ada - seperti layanan Azure AI!

Saat membuat aplikasi web dengan kerangka kerja apa pun, ada beberapa konsep inti yang perlu kita pahami - perutean, metode, dan templat. Mari kita jelajahi konsep-konsep ini sebelum kita menulis kode kita.

Menanggapi permintaan pengguna dengan rute

Saat pengguna menggunakan aplikasi web, mereka menunjukkan apa yang ingin mereka lakukan, atau informasi yang mereka cari, dengan menelusuri berbagai pencari sumber daya seragam (atau URL). Mereka mungkin mengetik alamat secara langsung (misalnya https://adventure-works.com), atau memilih tautan, atau tombol yang menyertakan URL yang sesuai. Di situs e-niaga, Anda mungkin memiliki URL yang terlihat seperti berikut ini:

  • https://adventure-works.com/ untuk halaman utama
  • https://adventure-works.com/products/widget untuk detail pada Widget
  • https://adventure-works.com/cart/buy untuk menyelesaikan pembelian

Sebagai pengembang, kami sebenarnya tidak perlu khawatir tentang bagian pertama URL, atau domain (adventure-works.com dalam contoh kami). Aplikasi kami diberlakukan berdasarkan apa pun yang muncul setelah nama domain, dimulai dengan /. Bagian setelah nama domain adalah apa yang dikenal sebagai rute.

Rute adalah jalur ke tindakan. Mirip dengan mengetuk tombol di aplikasi seluler, rute menunjukkan tindakan yang ingin dilakukan pengguna. Kami akan mendaftarkan berbagai rute di aplikasi web kami untuk menanggapi berbagai permintaan yang didukung aplikasi kami.

Dalam aplikasi kami, kami menunjukkan bagaimana kami ingin menanggapi permintaan rute tertentu dengan menyediakan fungsi. Rute adalah peta ke fungsi. Ketika kita berpikir tentang menulis kode secara umum, konsep ini relatif alami. Ketika kita ingin melakukan tindakan tertentu, kita memanggil fungsi. Pengguna kami akan melakukan hal yang sama persis! Mereka hanya akan melakukannya sedikit berbeda, dengan mengakses rute.

Metode atau verba

Rute dapat diakses dalam banyak cara, melalui apa yang dikenal sebagai metode atau verba (dua istilah ini artinya sama dan dapat digunakan secara bergantian). Bagaimana rute diakses memberikan konteks tambahan tentang status permintaan pengguna dan tindakan apa yang ingin dilakukan pengguna.

Ada banyak metode yang tersedia saat membuat aplikasi web, tetapi dua yang paling umum (dan hanya dua yang akan kita fokuskan) adalah GET dan POST. GET biasanya menunjukkan bahwa pengguna meminta informasi, sementara POST menunjukkan bahwa pengguna perlu mengirimi kami sesuatu dan menerima respons.

Catatan

Terlepas dari kata kerja yang digunakan, informasi dapat selalu dikembalikan kepada pengguna.

Alur aplikasi umum yang menggunakan GET dan POST berputar menggunakan satu formulir. Katakanlah kita membuat aplikasi di mana pengguna ingin mendaftar untuk milis:

  1. Pengguna mengakses formulir pendaftaran melalui GET
  2. Pengguna melengkapi formulir dan memilih tombol kirim
  3. Informasi dari formulir dikirim kembali ke server dengan menggunakan POST
  4. Pesan "berhasil" dikembalikan ke pengguna

Seperti yang mungkin Anda duga, pengguna tidak secara langsung menunjukkan kata kerja yang ingin mereka gunakan, verba itu dikendalikan oleh aplikasi. Secara umum, jika pengguna menavigasi ke URL secara langsung, dengan mengetikkannya atau dengan memilih tautan, mereka mengakses halaman dengan menggunakan GET. Saat mereka memilih tombol untuk formulir, mereka biasanya mengirim informasi melalui POST.

Catatan

Kami menjaga percakapan ini tetap relatif tinggi, karena diskusi lengkap tentang metode berada di luar cakupan modul ini.

Templat

Hypertext Markup Language, atau HTML, adalah bahasa yang digunakan untuk menyusun informasi yang ditampilkan di browser, sementara Cascading Style Sheets, atau CSS, digunakan untuk mengelola gaya dan tata letak. Saat membuat aplikasi, sebagian besar HTML akan statis, yang berarti tidak akan berubah. Namun, untuk membuat halaman kita dinamis, kita harus dapat memasukkan informasi secara terprogram ke dalam halaman HTML. Hampir setiap kerangka kerja web mendukung persyaratan ini melalui templat.

Templat memungkinkan Anda menulis HTML inti (atau templat) dan menunjukkan tempat penampung untuk informasi dinamis. Mungkin sintaks yang paling umum untuk tempat penampung adalah {{ }}. Jinja, mesin templat untuk Flask, menggunakan sintaks ini.

<h1>Welcome, {{ name }}</h1>

Dalam contoh sebelumnya, kita memiliki HTML (header) h1, dengan teks yang ingin kita tampilkan. {{ name }} menunjukkan bahwa kita ingin menampilkan variabel bernama name tepat setelah Selamat Datang. Dengan menggunakan sintaks ini kita dapat menulis HTML kita dengan keterampilan kita yang ada, dan menyuntikkan informasi dinamis sesuai kebutuhan.

Uji pengetahuan Anda

1.

Flask adalah kerangka kerja untuk membangun aplikasi web dalam bahasa mana dari bahasa berikut?