Đây là hy vọng một cách nhanh chóng/dễ dàng. Tôi biết một cách để làm việc này thông qua một thẻ mẫu tùy chỉnh, nhưng tôi đã tò mò nếu có những phương pháp khác tôi đã qua tìm kiếm. Tôi đã tạo ra một chức năng bộ sưu tập của các loại cho blog của tôi, và tôi có một trang danh sách thư viện để phân trang tất cả các thư viện của tôi. Bây giờ, tôi không muốn hiển thị tất cả ảnh của mỗi thư viện trong danh sách đó, vì nếu mỗi thư viện thậm chí có 20 hình ảnh, thì đó là 100 hình ảnh trên một trang nếu tôi phân trang ở 5 bài đăng. Đó sẽ là lãng phí, và cách sai lầm để đi về mọi thứ.django cho ngắt truy cập vòng lặp
Câu hỏi tôi có là, có cách nào để chỉ hiển thị 3 ảnh từ bộ ảnh không? Những gì tôi muốn làm, nhưng tôi không nghĩ có thể là một cái gì đó tương tự (giả):
{% for photos in gallery.photo_set %}
{% if forloop.counter lt 3 %}
<img src="{{ photos.url }}">
{% endif %}
{% endfor %}
Đánh giá từ các tài liệu, trừ khi tôi đang hoàn toàn thiếu nó, đó là không thể thực hiện thông qua hệ thống templating. Do đó, tôi chỉ có thể viết các thẻ mẫu của riêng mình để làm việc xung quanh nó. Tôi có lẽ có thể làm một cái gì đó từ khía cạnh xem, nhưng tôi đã không nhìn xa vào ý tưởng đó. Tùy chọn khác mà tôi có là tạo mô hình cho trường xem trước và cho phép người dùng chọn ảnh mà họ muốn trong trường xem trước.
Dù sao, một vài tùy chọn khác nhau, vì vậy tôi nghĩ tôi sẽ thăm dò ý kiến của khán giả xem bạn sẽ làm như thế nào. Bất kỳ ý kiến được đánh giá cao. Cá nhân, thưởng thức rằng có rất nhiều cách để da mèo này.
Vì vậy, có tất cả các tùy chọn của tôi và sau đó có một lựa chọn rõ ràng của bạn mà tôi đã xem. Cảm ơn cho tip, giúp tôi tiết kiệm rất nhiều rắc rối! – f4nt
Sử dụng bộ lọc lát cắt có một lợi ích bổ sung. Nếu bạn đang đi qua một bộ truy vấn Django (trái ngược với một bộ sưu tập), slice sẽ chuyển qua truy vấn SQL cơ bản, giới hạn số hàng mà trang sẽ truyền tải từ cơ sở dữ liệu. –
@Dave, +1: cảm ơn, tôi không biết về tối ưu hóa đó - tuyệt vời! –