2010-07-26 45 views
6

GAE için yeni ve webapp framework ile bir uygulama oluşturuyorum. Siz ne zaman app.yaml uygulamasında işleyicileri ayarlıyorsunuz ve bunları WSGI'nizde tanımladığınızda merak ediyordum? Google App Engine: İşleyiciler ve WSGI URL'leri

İlk başta sadece WSGIApplication çalışan bir main.py ana dosya var düşündük ama bu işleyicileri tanımladığınız GAE'nin yetkilendirme kullanmak istiyorsanız dikkat edin. Yani bu, birden çok WSGIApplications çalıştırdığınız anlamına mı geliyor?

Ben "Giriş veya Yönetici Durumu Gerektiren" konulu belgeleri okuyordu ve bunların farklı roller için farklı uygulamalar var gibi görünüyor.

Belki böyle bir şey?

- general.py - Giriş:
- user.py - giriş: Gerekli
- admin.py: - giriş: yönetici

Ama belki de sizin WSGI URL'ler tüm yayılmış olması kötü yerde mi?

Eğer bir py dosyasına işaret ve çerçeve şeyi halledeyim GAE üzerinde django çalıştırırsanız Yanlış hatırlamıyorsam? Ben henüz çok Django kullanmak istemiyorum

oldu acaba herkes webapp ile url/hanlders nasıl yapılacağına ilişkin bazı noktalar/en iyi uygulamaları olsaydı? URL yönlendirme

cevap

9

Her iki yöntem kabul edilebilir.

app.yaml tabanlı kolayca app.yaml yönlendirme (ve yetki) kullanmak için uygulamanızı yapılandırmanın Eğer
yönlendirme URL, o zaman denemeye değer: bu hata ayıklamak gerekecek az kod olacağım , test edin ve sürdürün. http://google-app-engine-samples.googlecode.com/svn/trunk/gdata_feedfetcher/

Performans app.yaml yetki ile üstün olmalıdır: Bir kullanıcı bir yönetici olup olmadığına Python komut belirlemek için çalıştırılacak gerekmez İşte

çoklu giriş noktaları ile (Google'dan) bir örnek site.

bir URL eşleme tablosu
uygulama temel URL-yönlendirme ve yetkilendirme ötesinde bir şeye ihtiyacı olursa

sonra kendinizi nispeten seyrek app.yaml sahip ve daha geniş bir URL eşleştirme tablosunu kullanarak bulabilirsiniz.

Örneğin, tüm kullanıcılar için bir sayfayı görüntülemek istediğiniz, ancak ek olarak bir yönetici için göstermek için bir "giriş" bağlantı istiyorum. This code (for a simple blog) bu yapıyı kullanır.

+0

Teşekkürler Adam örnek kod her zaman güzeldir. Blog kodu bana gerçekten yardımcı olacak. – Pickels

+0

Birden çok işleyici uygulamanın yüklenme süresini artırmıyor mu? Aynı modülleri içe aktarmak zorundalar ve çoklu işleyiciler sadece 1'den daha fazla alan kullanıyorlar. – stesch