Tôi thực sự đang gặp khó khăn với toàn bộ ý tưởng ứng dụng này. Tôi đọc rất nhiều hướng dẫn và hướng dẫn phong cách và tôi biết tôi nên cố gắng tạo các ứng dụng chuyên biệt, thực hiện chính xác một điều. Tất cả điều này có ý nghĩa khi xem xét một số dự án hướng dẫn đơn giản nhưng ngay khi nó được đưa vào một dự án thực tế phức tạp, tôi thấy mình không thể xác định cách tôi nên vẽ các đường giữa các ứng dụng khác nhau.Django: thực hành tốt nhất để chia nhỏ dự án thành các ứng dụng
Một trong những vấn đề là, tôi muốn có một trang web (hoặc nhiều trang web) nơi người dùng nhìn thấy rất nhiều nội dung khác nhau. Nội dung phải từ các ứng dụng khác nhau, khi tuân thủ các quy tắc thiết kế ứng dụng. Làm thế nào tôi sẽ nhận ra một cái gì đó như thế này? Ý tưởng đầu tiên của tôi là tạo một ứng dụng gọi là ui
, chỉ xử lý TẤT CẢ các lượt xem thực sự dẫn đến một mẫu và tất cả các ứng dụng khác cung cấp các mô hình và các chức năng trợ giúp. Nhưng tôi sợ rằng ứng dụng ui
sẽ trở thành cách lớn.
Để cung cấp cho bạn một ví dụ nhỏ: Cho phép tôi muốn có một trang web mà người dùng có thể thực hiện các nhiệm vụ sau:
- Chọn một chủ đề
- thiết lập một số tùy chọn cho đối tượng được lựa chọn
- upload các tệp được liên kết với tài khoản của mình
- gán một số tệp đã tải lên cho chủ đề
- ghi lại một số âm thanh sẽ liên quan đến chủ đề
Ngay bây giờ, tôi sẽ tạo ra ba ứng dụng:
- đối tượng (bao gồm các mô hình đối tượng và một số mô hình có liên quan)
- nguồn lực (bao gồm các mô hình tài nguyên, xử lý ảnh upload)
- âm thanh (xử lý tất cả các nội dung ghi âm và xử lý âm thanh)
Nhưng sau đó, tôi cần một số loại ứng dụng main
hoặc ui
để xử lý cách những ps tương tác và tạo trang web thực sự, nơi tất cả các ứng dụng đều tham gia bằng cách nào đó.
Vì vậy, có cách nào "đúng" để thực hiện việc này không? Hoặc có bất kỳ mẫu nào tôi có thể sử dụng không? Tôi cũng sẽ đánh giá cao các liên kết đến các tài nguyên tốt về chủ đề này, mặc dù tôi đã đọc khá nhiều.
cảm ơn rất nhiều! có lẽ tôi đã đánh giá cao toàn bộ mẫu ứng dụng một chút. nhưng điều này thực sự có ý nghĩa hơn rất nhiều. Một câu hỏi đặt ra là: làm thế nào để "ghi đè ở cấp độ dự án" làm việc? Hay ý bạn là gì? – basilikum
@basilikum Hệ thống kế thừa của Django sẽ tìm kiếm mẫu hoặc tệp css ở cấp độ dự án của bạn trước, sau đó truy vấn vào cấp ứng dụng, v.v. (tùy thuộc vào [thiết lập] của bạn (https://docs.djangoproject.com/en/1.5/ref/ contrib/staticfiles/# staticfiles-finders), từ trên xuống dưới) điều này được sử dụng rất nhiều khi sử dụng lại các phần của các dự án chéo mã của bạn, nơi bạn không muốn sử dụng các kiểu móc mẫu/mẫu dự án cụ thể. Lưu ý, các mô hình gói sâu yêu cầu các câu lệnh import trong tệp init và sử dụng đối số 'app_label' trên lớp' Meta' của mô hình. –
Cảm ơn bạn lần nữa! Tôi đã tái cơ cấu một số mã của tôi và nó đã sạch hơn rất nhiều cho tôi. – basilikum