Tôi đã bắt đầu một ứng dụng trong Google App Engine ngay khi nó ra mắt, để chơi với công nghệ và làm việc trong một dự án thú cưng mà tôi đã nghĩ đến trong một thời gian dài nhưng chưa bao giờ bắt đầu. Kết quả là BowlSK . Tuy nhiên, khi nó đã phát triển và các tính năng đã được thêm vào, thật sự rất khó để giữ mọi thứ có tổ chức - chủ yếu là do đây là dự án python đầu tiên của tôi và tôi không biết gì về nó cho đến khi bắt đầu làm việc.
Tôi có gì:
- Cấp chính bao gồm:
- tất cả các tệp .py (không biết cách làm cho các gói hoạt động)
- tất cả các mẫu .html cho các trang cấp chính
- Thư mục con:
- các thư mục riêng biệt cho css, hình ảnh, js, v.v.
- các thư mục chứa .html mẫu cho url loại trực tiếp con
Ví dụ:
http://www.bowlsk.com/ ánh xạ tới Trang chủ (gói mặc định), mẫu tại "index.html"
http://www.bowlsk.com/games/view-series.html?series=7130 bản đồ tới ViewSeriesPage (một lần nữa, gói mặc định), mẫu tại "games / view-series.html"
Thật khó chịu. Làm thế nào để tôi tái cấu trúc? Tôi có 2 ý tưởng:
Thư mục Chính chứa: appdef, indexes, main.py?
- Thư mục con cho mã. Đây có phải là gói đầu tiên của tôi không?
- Thư mục con cho các mẫu. Hệ thống thứ tự thư mục sẽ khớp với thứ bậc gói
- Các thư mục con riêng lẻ cho css, hình ảnh, js, v.v.
Thư mục Chính chứa appdef, indexes, main.py?
- Thư mục con cho mã + mẫu. Bằng cách này, tôi có lớp xử lý ngay bên cạnh mẫu, bởi vì trong giai đoạn này, tôi đang thêm rất nhiều tính năng, vì vậy sửa đổi đối với một loại có nghĩa là sửa đổi đối với cái kia. Một lần nữa, tôi có phải đặt tên thư mục này là tên gói đầu tiên cho các lớp của tôi không? Tôi muốn thư mục là "src", nhưng tôi không muốn các lớp của mình là "src.W AnythingPage"
Có một thực hành tốt nhất? Với Django 1.0 sắp ra mắt, tôi có thể làm gì bây giờ để cải thiện khả năng tích hợp với nó khi nó trở thành công cụ tạo mẫu GAE chính thức không? Tôi chỉ đơn giản là bắt đầu thử những thứ này và thấy điều đó có vẻ tốt hơn, nhưng hỗ trợ tái cấu trúc của pyDev dường như không xử lý tốt các chuyển động của gói, vì vậy có thể sẽ là một nhiệm vụ không hề nhỏ để tất cả những thứ này hoạt động trở lại.