Web2py - Giriş

web2pyveritabanı odaklı web uygulamalarını içeren çevik geliştirme için ücretsiz, açık kaynaklı bir web çerçevesi olarak tanımlanır; Python'da yazılmıştır ve Python'da programlanabilir. Tam yığın çerçevedir; gerekli tüm bileşenlerden oluşur, bir geliştiricinin tamamen işlevsel bir web uygulaması oluşturması gerekir.

web2py çerçeve takip eder Model-View-Controller geleneksel kalıpların aksine web uygulamalarını çalıştırma kalıbı.

  • Modelveriler için mantık içeren uygulamanın bir parçasıdır. Modeldeki nesneler, veri tabanından veri almak ve depolamak için kullanılır.

  • Viewuygulamanın bir parçasıdır ve verilerin son kullanıcılara gösterilmesine yardımcı olur. Verilerin görüntüsü Model'den alınır.

  • Controller, uygulamanın kullanıcı etkileşimini yöneten bir parçasıdır. Kontrolörler bir görünümden verileri okuyabilir, kullanıcı girişini kontrol edebilir ve giriş verilerini belirli modele gönderebilir.

  • web2pyçerezleri ve oturumları yönetmek için yerleşik bir özelliğe sahiptir. Bir işlem gerçekleştirdikten sonra (SQL açısından), oturum aynı zamanda depolanır.

  • web2pybelirli eylemlerin tamamlanmasından sonra görevleri planlanan aralıklarla çalıştırma kapasitesine sahiptir. Bu, ile başarılabilirCRON.

web2py - İş akışı

Aşağıda verilen iş akışı şemasına bir göz atın.

İş akışı şeması aşağıda açıklanmıştır.

  • Models, Views ve Controller bileşenler, kullanıcının web2py uygulamasını oluşturur.

  • Aynı web2py örneğinde birden fazla uygulama barındırılabilir.

  • Tarayıcı, HTTP isteğini sunucuya gönderir ve sunucu, Model, Controller ve View gerekli çıktıyı almak için.

  • Oklar, veritabanı motorları ile iletişimi temsil eder. Veritabanı sorguları ham SQL'de veya web2py Veritabanı Soyutlama Katmanı kullanılarak (sonraki bölümlerde tartışılacaktır) yazılabilir, böyleceweb2py uygulama kodu, herhangi bir veritabanı motorundan bağımsızdır.

  • Model veritabanı ile veritabanı bağlantısı kurar ve Controller. Controller Öte yandan, View verilerin görüntüsünü oluşturmak için.

  • DispatcherHTTP yanıtında verilen istenen URL'yi denetleyicideki bir işlev çağrısına eşler. İşlevin çıktısı bir dizge veya karma tablo olabilir.

  • Veriler, View. Kullanıcı bir HTML sayfası talep ederse (varsayılan), veriler bir HTML sayfasına dönüştürülür. Kullanıcı XML'de aynı sayfayı isterse, web2py sözlüğü XML'de işleyebilen bir görünüm bulmaya çalışır.

  • Web2py'nin desteklenen protokolleri arasında HTML, XML, JSON, RSS, CSV ve RTF bulunur.

Model-Görünüm-Denetleyici

model-view-controller web2py'nin temsili aşağıdaki gibidir -

Modeli

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

Modeluygulama verilerinin mantığını içerir. Yukarıdaki şekilde belirtildiği gibi veri tabanına bağlanır. SQLite'ın kullanıldığını ve şurada depolandığını düşünün:storage.sqliteçalışan olarak tanımlanan bir tabloya sahip dosya. Tablo yoksa, web2py ilgili tabloyu oluşturarak yardımcı olur.

Kontrolör

Program "default.py" ... Controller.

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

İçinde web2pyURL eşleme, işlevlere ve modüllere erişmeye yardımcı olur. Yukarıdaki örnek için, Kontrolör, çalışanlar adı verilen tek bir işlev (veya "eylem") içerir.

Tarafından gerçekleştirilen eylem Controller Yerel bir değişkenler kümesi içeren bir anahtar ve değer kombinasyonu olan bir dize veya bir Python sözlüğü döndürür.

Görünüm

"default/contacts.html" ... View.

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

Verilen örnek için, View ilgili kontrolör işlevi yürütüldükten sonra çıktıyı görüntüler.

bunun amacı ViewHTML biçimindeki sözlükteki değişkenleri oluşturmaktır. View dosya HTML olarak yazılmıştır, ancak Python kodunu {{ and }} sınırlayıcılar.

HTML'ye gömülü kod, sözlükteki Python kodundan oluşur.

Web2py ile başlayın

web2py Windows, UNIX ve Mac OS X gibi tüm büyük işletim sistemleri için ikili paketler halinde gelir.

Web2py'yi yüklemek kolaydır çünkü -

  • Python yorumlayıcısından oluşur, bu nedenle önceden yüklemenize gerek yoktur. Ayrıca tüm işletim sistemlerinde çalışan bir kaynak kodu sürümü de vardır.

  • Aşağıdaki bağlantı ikili paketlerden oluşur web2pykullanıcının ihtiyacına göre indirmek için - www.web2py.com

  • web2pyframework, diğer çerçevelerden farklı olarak ön kurulum gerektirmez. Kullanıcının zip dosyasını indirmesi ve işletim sistemi gereksinimine göre sıkıştırmayı açması gerekir.

  • web2py framework, çalıştırmak için herhangi bir derleme veya karmaşık kurulum gerektirmeyen tam dinamik bir dil olan Python'da yazılmıştır.

  • Java veya .net gibi diğer programlama dilleri gibi sanal bir makine kullanır ve geliştiriciler tarafından yazılan kaynak kodunu şeffaf bir şekilde bayt olarak derleyebilir.

İşletim sistemi Komut
Unix ve Linux (kaynak dağıtımı) python web2py.py
OS X (ikili dağıtım) web2py.app'i aç
Windows (ikili web2py dağıtımı) web2py.exe
Windows (kaynak web2py dağıtımı) c: /Python27/python.exe web2py.py