phép nói rằng chúng ta muốn có một thư viện các mảnh javascript dựa trên các chức năng (tôi nghĩ jquery): Ví dụ:Làm cách nào để quản lý các mô-đun Javascript trong các mẫu django?
- một hộp thoại ajax
- một bảng chọn ngày
- một hình thức validator
- một thanh menu trượt
- một accordian thingy
có bốn mảnh mã cho mỗi: một số Python, CSS, JS, & HTML.
cách tốt nhất để sắp xếp tất cả những mảnh là gì để:
- mỗi javascript 'module' có thể được gọn gàng tái sử dụng bởi quan điểm khác nhau
- bốn bit mã mà tạo nên chức năng hoàn nghỉ cùng
- css/js/phần html xuất hiện ở những nơi chính xác của họ trong việc ứng phó
- phụ thuộc phổ biến giữa các module không được lặp đi lặp lại (ví dụ: một tập tin javascript chung)
x --------------
Sẽ tốt hơn nếu, hoặc có cách nào đó để đảm bảo rằng, khi được gọi từ templatetag, các mẫu tôn trọng khối {% %} chỉ thị. Vì vậy, người ta có thể tạo một mẫu đơn với một khối cho CSS, HTML và JS, trong một tệp duy nhất. Gọi nó thông qua một templatetag được gọi từ mẫu của bất cứ view nào muốn nó. Điều đó có ý nghĩa gì. Điều đó có thể được thực hiện một cách nào đó không? Mẫu templatetag của tôi dường như bỏ qua chỉ thị {% block%}.
x --------------
Có một số rất phù hợp gasbagging về việc đưa phương tiện truyền thông như vậy trong các hình thức ở đây http://docs.djangoproject.com/en/dev/topics/forms/media/ mà có lẽ áp dụng đối với các hình thức xác nhận và chọn ngày ví dụ.
Cảm ơn Peter. Có js nén thói quen ra có mà có thể là một afterthought tiện dụng trong một phần của Middleware Response; Tuy nhiên câu hỏi này là về cách tốt nhất để đặt ra một dự án django để dễ dàng có rất nhiều javascript trong các phản ứng mà không đau đầu từ nguồn nhận được hỗn loạn. Tôi hy vọng 'bao gồm' và 'templatetags' sẽ được tham gia bằng cách nào đó. –
Bạn nói đúng: Tôi đã có một cuộc trò chuyện trong đầu của tôi và chỉ cho bạn một nửa trong số đó. Chúng tôi đã thử sử dụng các mẫu 'sử dụng các mẫu để chỉ bao gồm các tệp JS cho bất kỳ trang nào', nhưng trong vòng hai lần nhấp chuột, người dùng có thể đã giảm 95% số trang đó xuống. Thay vì ăn tất cả những bản tải xuống riêng lẻ đó và phải đối phó với sự lộn xộn của việc đảm bảo mỗi trang bao gồm những thứ đúng, chúng tôi đã cố gắng đẩy tất cả vào một tệp được nối và rút gọn nó. Kết quả đáng ngạc nhiên là nhỏ và sau đó chúng tôi chỉ cần đặt thẻ liên kết trong mẫu cơ sở. Làm xong. –
Tôi đồng ý với Peter ở đây - Có lẽ dễ dàng hơn khi kết nối chúng lại với nhau và cho phép người dùng tải xuống tất cả cùng một lúc. Nhìn vào tài sản django như một cách dễ dàng để quản lý việc ghép nối: https://launchpad.net/django-assets – sheats