Kerangka Piramida

Pyramid adalah umum, open source, kerangka kerja pengembangan aplikasi web yang dibangun dengan python. Ini memungkinkan pengembang python untuk membuat aplikasi web dengan mudah.

Pyramid didukung oleh pengetahuan perusahaan Sistem Manajemen KARL (proyek George Soros).

Menginstal, memulai, dan mengonfigurasi

Seperti dijelaskan, "mulai dari yang kecil, selesaikan besar, tetap selesaikan kerangka", Pyramid sangat mirip dengan Flask yang membutuhkan sedikit usaha untuk menginstal dan menjalankan. Nyatanya, Anda akan mengenali bahwa beberapa pola mirip dengan Flask setelah Anda mulai membangun aplikasi ini.

Berikut adalah langkah-langkah untuk membuat lingkungan kerangka piramida -

  • Pertama, buat direktori proyek. Di sini, kami telah membuat direktori bernamapyramidProject (Anda dapat memilih nama yang Anda inginkan).

  • Selanjutnya, buat lingkungan virtual tempat Anda akan menginstal semua dependensi khusus proyek. Di sini, kami membuat folder lingkungan virtual bernamapyramidEnv dimana Piramida dipasang.

  • Lalu, masuk ke direktori, pyramidEnv dan pasang piramida dengan pip install pyramid.

Setelah semuanya selesai seperti yang disebutkan di atas, struktur direktori Anda akan seperti yang ditunjukkan di bawah ini -

Dan versi piramida yang dipasang di sistem diberikan di bawah ini -

Konsep inti

Kerangka Piramida didasarkan pada konsep inti di bawah ini -

  • Zope (diperpanjang, traversal, keamanan deklaratif) - Piramida secara longgar didasarkan pada Zope dalam hal ekstensibilitas, konsep traversal dan keamanan deklaratif.

  • Pylons(Pengiriman URL, pandangan tidak beropini tentang persistensi, pembuatan template, dll.) - Area lain dari mana piramida menarik konsepnya adalah proyek tiang. Pylons memiliki konsep rute, yang memanggil pengiriman URL di dalam kerangka piramida dan mereka juga memiliki pandangan yang tidak beropini tentang lapisan persistensi atau templat.

  • Django(Tampilan, tingkat dokumentasi) - Piramida juga mendapat petunjuk dari Django. Cara kami mengambil tampilan kami, mengarahkan URL kami dan tingkat dokumentasinya sangat mirip dengan cara Django.

Berikut ini adalah fitur-fitur kerangka Piramida -

  • Ini adalah kerangka web Python tercepat yang diketahui.

  • Ini mendukung proyek kecil dan besar (mengapa menulis ulang saat Anda melampaui kerangka kerja kecil Anda).

  • Ini mendukung aplikasi web file tunggal seperti microframeworks.

  • Ini memiliki sesi built-in.

  • Ini mendukung acara yang mirip dengan Plone / Zope.

  • Ini menyediakan Manajemen Transaksi (jika sudah mengetahui bahwa kami telah menggunakan Zope sebelumnya).

Konfigurasi

Konfigurasi adalah pengaturan yang mempengaruhi pengoperasian aplikasi. Ada dua cara untuk mengkonfigurasi aplikasi piramida: konfigurasi imperatif dan konfigurasi deklaratif.

Konfigurasi piramida mendukung -

  • Konfigurasi imperatif atau bahkan menimpa konfigurasi berbasis dekorator

  • Deteksi konflik konfigurasi (termasuk penentuan yang lebih lokal vs. lebih sedikit lokal)

  • Ekstensibilitas Konfigurasi (termasuk dari beberapa aplikasi)

  • Otentikasi Fleksibel dan Kebijakan Otorisasi

  • Introspeksi Konfigurasi Terprogram (melihat status rute saat ini untuk menghasilkan navigasi)

Pembuatan URL

Dalam piramida, kita dapat menghasilkan URL untuk rute, sumber daya, dan aset statis. Mudah dan fleksibel untuk bekerja dengan API pembuatan URL. Dengan membuat URL melalui berbagai API piramida, pengguna dapat mengubah konfigurasi secara sewenang-wenang tanpa perlu khawatir memutus tautan dengan laman web mana pun Anda.

Singkatnya, URL dalam piramida -

  • mendukung pembuatan URL untuk memungkinkan perubahan pada aplikasi yang tidak akan merusak tautan.

  • menghasilkan URL ke sumber daya statis yang ada di dalam atau di luar aplikasi.

  • mendukung Routes dan Traversal.

Tampilan

Salah satu tugas utama pyramid adalah menemukan dan menjalankan tampilan yang dapat dipanggil saat permintaan mencapai aplikasi Anda. View callable adalah bit kode yang melakukan sesuatu yang menarik sebagai tanggapan atas permintaan yang dibuat dalam aplikasi Anda.

Saat Anda memetakan pandangan Anda ke pengiriman URL atau kode python, bisa ada panggilan apa pun. Tampilan dapat berupa deklarasi fungsi atau instance, dapat digunakan sebagai tampilan di piramida.

Beberapa poin penting tentang Views diberikan di bawah ini -

  • Tampilan dihasilkan dari semua yang dapat dipanggil.

  • Tampilan berbasis perender dapat dengan mudah menampilkan kamus (tidak diperlukan untuk mengembalikan objek gaya webby).

  • Mendukung banyak tampilan per rute (GET vs. POST vs. pemeriksaan Header HTTP, dll.).

  • Lihat adaptor respons (jika Anda ingin menentukan bagaimana nilai hasil tampilan harus ditangani vs. objek respons).

Kemungkinan diperpanjang

Piramida dirancang dengan pemikiran yang dapat diperpanjang. Jadi, jika pengembang piramida memperhatikan batasan tertentu saat membangun aplikasi, pihak ketiga harus dapat mengubah perilaku aplikasi tanpa perlu mengubah kode sumbernya. Perilaku aplikasi piramida yang mematuhi batasan tertentu dapat diganti atau diperpanjang tanpa modifikasi apa pun. Ini dirancang untuk penerapan yang fleksibel ke berbagai lingkungan (Tanpa Singletons). Pyramid memiliki dukungan middleware "Remaja" (perangkat tengah WSGI, tetapi berjalan dalam konteks Pyramid itu sendiri).

Menjalankan Program Halo, Piramida

Program paling sederhana yang dapat kita pikirkan setelah menginstal kerangka kerja piramida untuk memeriksa apakah semuanya bekerja dengan baik, adalah dengan menjalankan program sederhana “Halo, Dunia” atau “Halo, Piramida”.

Di bawah ini adalah program piramida "Halo, Piramida" saya dengan nomor port 8000 -

Contoh sederhana di atas mudah dijalankan. Simpan ini sebagai app.py (Dalam hal ini, kami telah memberi nama pyramid_helloW.py).

Menjalankan program paling sederhana: -

Selanjutnya, buka http://localhost:8000/di browser, dan Anda akan melihat Halo, Piramida! Pesan sebagai berikut -

Berikut penjelasan kode diatas -

Baris no. 1-3

Di bagian atas file, kami memiliki pernyataan import. Baris pertama mengimpor fungsi make_server, yang dapat membuat server web sederhana saat diteruskan ke aplikasi. Baris kedua dan ketiga mengimpor konfigurasi dan fungsi Respon dari piramida. Fungsi-fungsi ini digunakan untuk mengonfigurasi detail dan mengatur parameter untuk aplikasi dan menanggapi permintaan.

Baris no. 5-6

Sekarang kita memiliki definisi fungsi yang disebut hello_world. Menerapkan kode tampilan yang menghasilkan respons. Fungsi yang memenuhi persyaratan tampilan bertanggung jawab untuk merender teks yang akan diteruskan kembali ke entitas yang meminta. Dalam kasus di atas, fungsi, saat dipanggil, menggunakan fungsi Respon yang kita impor sebelumnya. Ini mengembalikan nilai yang harus diberikan kepada klien.

Baris no. 8

if __name__ == '__main__': Python mengatakan, “Mulai di sini saat menjalankan dari baris perintah”, bukan saat modul ini diimpor.

Baris no. 9-11

Sejalan no. 9, kami membuat variabel yang disebut config dari objek yang dibuat oleh fungsi konfigurator yang kami impor di bagian atas program. Baris 10 dan 11 memanggil metode add_route dan add_view dari objek ini. Metode ini digunakan untuk menentukan tampilan yang dapat digunakan oleh aplikasi. Seperti yang bisa kita lihat, kita melewatkan fungsi hello_world yang kita definisikan sebelumnya. Di sinilah fungsi tersebut sebenarnya dimasukkan sebagai tampilan.

Baris no. 12-14

Dalam hal ini, kami benar-benar membuat aplikasi WSGI dengan memanggil metode make_wsgi_app dari objek config. Ini menggunakan atribut objek, seperti tampilan yang kami tambahkan, untuk membuat aplikasi. Aplikasi ini kemudian diteruskan ke fungsi make_server yang kita impor untuk membuat objek yang dapat meluncurkan server web untuk melayani aplikasi kita. Baris terakhir meluncurkan server ini.

Kami hello world applicationadalah salah satu aplikasi piramida yang paling sederhana dan termudah, dikonfigurasi "secara imperatif". Ini sangat penting karena kekuatan penuh Python tersedia bagi kita saat kita melakukan tugas konfigurasi.

Untuk meringkas, Pyramid adalah kerangka web python open source dengan komunitas besar dan aktif. Komunitas besar ini berkontribusi dalam menjadikan kerangka web python populer dan relevan. Kerangka web piramida menyederhanakan dan mempercepat pengembangan aplikasi web dengan menyediakan serangkaian fitur dan alat yang kuat.