Web2py - Pendahuluan

web2pydidefinisikan sebagai kerangka kerja web sumber terbuka gratis untuk pengembangan tangkas yang melibatkan aplikasi web berbasis basis data; itu ditulis dengan Python dan dapat diprogram dengan Python. Ini adalah kerangka kerja tumpukan penuh; itu terdiri dari semua komponen yang diperlukan, pengembang perlu membangun aplikasi web yang berfungsi penuh.

web2py kerangka mengikuti Model-View-Controller pola menjalankan aplikasi web tidak seperti pola tradisional.

  • Modeladalah bagian dari aplikasi yang menyertakan logika untuk data. Objek dalam model digunakan untuk mengambil dan menyimpan data dari database.

  • Viewadalah bagian dari aplikasi, yang membantu dalam menampilkan data kepada pengguna akhir. Tampilan data diambil dari Model.

  • Controlleradalah bagian dari aplikasi, yang menangani interaksi pengguna. Pengontrol dapat membaca data dari tampilan, mengontrol input pengguna, dan mengirim data input ke model tertentu.

  • web2pymemiliki fitur built-in untuk mengelola cookie dan sesi. Setelah melakukan transaksi (dalam istilah SQL), sesi juga disimpan secara bersamaan.

  • web2pymemiliki kapasitas menjalankan tugas dalam interval yang dijadwalkan setelah penyelesaian tindakan tertentu. Ini bisa dicapai denganCRON.

web2py - Alur Kerja

Lihatlah diagram alur kerja yang diberikan di bawah ini.

Diagram alur kerja dijelaskan di bawah ini.

  • Itu Models, Views dan Controller komponen membuat aplikasi web2py pengguna.

  • Beberapa aplikasi dapat dihosting dalam contoh web2py yang sama.

  • Browser mengirimkan permintaan HTTP ke server dan server berinteraksi dengannya Model, Controller dan View untuk mengambil keluaran yang diperlukan.

  • Panah mewakili komunikasi dengan mesin database. Kueri database dapat ditulis dalam SQL mentah atau dengan menggunakan Lapisan Abstraksi Database web2py (yang akan dibahas di bab selanjutnya), sehinggaweb2py kode aplikasi tidak bergantung pada mesin database apa pun.

  • Model membuat koneksi database dengan database dan berinteraksi dengan Controller. ItuController di sisi lain berinteraksi dengan View untuk membuat tampilan data.

  • Itu Dispatchermemetakan URL yang diminta seperti yang diberikan dalam respons HTTP ke panggilan fungsi di pengontrol. Output dari fungsi tersebut dapat berupa string atau tabel hash.

  • Data diberikan oleh View. Jika pengguna meminta halaman HTML (default), data dirender menjadi halaman HTML. Jika pengguna meminta halaman yang sama dalam XML, web2py mencoba menemukan tampilan yang dapat merender kamus dalam XML.

  • Protokol web2py yang didukung termasuk HTML, XML, JSON, RSS, CSV, dan RTF.

Model-View-Controller

Itu model-view-controller representasi web2py adalah sebagai berikut -

Model

"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))

Itu Modeltermasuk logika data aplikasi. Ini terhubung ke database seperti yang disebutkan pada gambar di atas. Pertimbangkan SQLite sedang digunakan dan disimpan distorage.sqlitefile dengan tabel yang didefinisikan sebagai karyawan. Jika tabel tidak ada, web2py membantu dengan membuat tabel terkait.

Kontroler

Program "default.py" adalah Controller.

def employees():
   grid = SQLFORM.grid(db.contact, user_signature = False)
   return locals()

Di web2py, Pemetaan URL membantu dalam mengakses fungsi dan modul. Untuk contoh di atas, Kontroler berisi satu fungsi (atau "tindakan") yang disebut karyawan.

Tindakan yang diambil oleh Controller mengembalikan string atau kamus Python, yang merupakan kombinasi kunci dan nilai termasuk sekumpulan variabel lokal.

Melihat

"default/contacts.html" adalah View.

{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}

Untuk contoh yang diberikan, View menampilkan output setelah fungsi pengontrol terkait dijalankan.

Tujuan dari ini Viewadalah merender variabel dalam kamus, yang berbentuk HTML. ItuView file ditulis dalam HTML, tetapi menyematkan kode Python dengan bantuan {{ and }} pembatas.

Kode yang disematkan ke HTML terdiri dari kode Python yang ada di kamus.

Mulailah dengan web2py

web2py hadir dalam paket biner untuk semua sistem operasi utama seperti Windows, UNIX dan Mac OS X.

Mudah untuk menginstal web2py karena -

  • Ini terdiri dari interpreter Python, jadi Anda tidak perlu menginstalnya sebelumnya. Ada juga versi kode sumber yang berjalan di semua sistem operasi.

  • Tautan berikut terdiri dari paket biner web2pyuntuk diunduh sesuai kebutuhan pengguna - www.web2py.com

  • Itu web2pyframework tidak memerlukan pra-instalasi tidak seperti framework lainnya. Pengguna perlu mengunduh file zip dan unzip sesuai kebutuhan sistem operasi.

  • Itu web2py framework ditulis dengan Python, yang merupakan bahasa dinamis lengkap yang tidak memerlukan kompilasi atau instalasi yang rumit untuk dijalankan.

  • Ia menggunakan mesin virtual seperti bahasa pemrograman lain seperti Java atau .net dan dapat secara transparan mengompilasi byte kode sumber yang ditulis oleh pengembang.

Sistem operasi Perintah
Unix dan Linux (distribusi sumber) python web2py.py
OS X (distribusi biner) buka web2py.app
Windows (distribusi web2py biner) web2py.exe
Windows (distribusi web2py sumber) c: /Python27/python.exe web2py.py