Saya memulai aplikasi di Google App Engine tepat saat aplikasi itu diluncurkan, untuk bermain dengan teknologi dan mengerjakan proyek hewan peliharaan yang telah lama saya pikirkan tetapi tidak pernah sempat saya mulai. Hasilnya adalah BowlSK . Namun, seiring perkembangannya, dan fitur telah ditambahkan, menjadi sangat sulit untuk mengatur semuanya - terutama karena fakta bahwa ini adalah proyek python pertama saya, dan saya tidak tahu apa-apa tentang itu sampai saya mulai bekerja.
Apa yang saya punya:
- Level Utama berisi:
- semua file .py (tidak tahu cara membuat paket berfungsi)
- semua template .html untuk halaman tingkat utama
- Subdirektori:
- folder terpisah untuk css, gambar, js, dll.
- folder yang menyimpan template .html untuk url jenis subdirektori
Contoh:
http://www.bowlsk.com/ maps to HomePage (paket default), template di "index.html"
http://www.bowlsk.com/games/view-series.html?series=7130 dipetakan ke ViewSeriesPage (sekali lagi, paket default), template di "games / view-series.html"
Itu jorok. Bagaimana cara saya merestrukturisasi? Saya punya 2 ide:
Folder Utama berisi: appdef, indexes, main.py?
- Subfolder untuk kode. Apakah ini harus menjadi paket pertama saya?
- Subfolder untuk template. Hirarki folder akan cocok dengan heirarki paket
- Subfolder individual untuk css, gambar, js, dll.
Folder Utama berisi appdef, indexes, main.py?
- Subfolder untuk kode + template. Dengan cara ini saya memiliki kelas penangan tepat di sebelah template, karena dalam tahap ini, saya menambahkan banyak fitur, jadi modifikasi pada satu berarti modifikasi ke yang lain. Sekali lagi, apakah saya harus menjadikan nama folder ini sebagai nama paket pertama untuk kelas saya? Saya ingin foldernya menjadi "src", tetapi saya tidak ingin kelas saya menjadi "src.WhateverPage"
Apakah ada praktik terbaik? Dengan Django 1.0 di depan mata, adakah sesuatu yang dapat saya lakukan sekarang untuk meningkatkan kemampuan saya untuk mengintegrasikannya ketika itu menjadi mesin template GAE resmi? Saya hanya akan mulai mencoba hal-hal ini, dan melihat mana yang tampak lebih baik, tetapi dukungan refactoring pyDev tampaknya tidak menangani perpindahan paket dengan sangat baik, jadi kemungkinan akan menjadi tugas yang tidak sepele untuk membuat semua ini berfungsi lagi.