Ortaya çıktığında, teknolojiyle oynamak ve uzun zamandır düşündüğüm ama hiç başlamamış olduğum bir evcil hayvan projesi üzerinde çalışmak için Google App Engine'de bir uygulama başlattım. Sonuç BowlSK'dır . Bununla birlikte, büyüdükçe ve özellikler eklendikçe, işleri düzenli tutmak gerçekten zorlaştı - esas olarak bunun benim ilk python projem olması ve çalışmaya başlayana kadar bu konuda hiçbir şey bilmiyordum.
Neyim var:
- Ana Seviye şunları içerir:
- tüm .py dosyaları (paketlerin nasıl çalıştırılacağını bilmiyordum)
- ana düzey sayfalar için tüm .html şablonları
- Alt Dizinler:
- css, resimler, js vb. için ayrı klasörler
- alt dizin türü url'ler için .html şablonlarını tutan klasörler
Örnek:
http://www.bowlsk.com/ , HomePage (varsayılan paket) ile eşleşir, "index.html"
adresindeki şablon http://www.bowlsk.com/games/view-series.html?series=7130 , ViewSeriesPage (yine varsayılan paket), "games / view-series.html" adresindeki şablon
O iğrenç. Nasıl yeniden yapılandırırım? 2 fikrim vardı:
Ana Klasör şunları içerir: appdef, indexes, main.py?
- Kod için alt klasör. Bu benim ilk paketim olmak zorunda mı?
- Şablonlar için alt klasör. Klasör hiyerarşisi, paket hiyerarşisiyle eşleşir
- Css, images, js, vb. İçin ayrı alt klasörler.
Appdef, indexes, main.py? İçeren Ana Klasör?
- Kod + şablonlar için alt klasör. Bu şekilde, şablonun hemen yanında işleyici sınıfım var, çünkü bu aşamada, birçok özellik ekliyorum, bu yüzden birinde yapılan değişiklikler diğerine yapılan değişiklikler anlamına gelir. Yine, bu klasör adının sınıflarım için ilk paket adı olması gerekiyor mu? Klasörün "src" olmasını istiyorum, ancak sınıflarımın "src.WhateverPage" olmasını istemiyorum
Bir en iyi uygulama var mı? Ufukta Django 1.0 ile, resmi GAE şablon motoru haline geldiğinde onunla bütünleşme yeteneğimi geliştirmek için şimdi yapabileceğim bir şey var mı? Basitçe bunları denemeye ve hangisinin daha iyi göründüğünü görmeye başlayacaktım, ancak pyDev'in yeniden düzenleme desteği paket hareketlerini pek iyi karşılamıyor gibi görünüyor, bu yüzden tüm bunların yeniden çalışmasını sağlamak muhtemelen önemsiz bir görev olacak.