2011-09-07 32 views
13

Có cách nào tôi có thể tải mẫu jinja2 từ bên trong tệp mẫu khác không? Một cái gì đó nhưjinja2 tải mẫu tệp từ mẫu

{{ render_template('path/to/file.html') }} 

Tôi có một số đoạn trích mà tôi muốn sử dụng lại, vì vậy điều quan trọng là tôi có chức năng này.

Trả lời

5

Sử dụng thẻ extends hoặc thẻ include, tùy thuộc vào cách bạn muốn thiết kế chế độ xem nhiều tệp của mình.

21

{% include "file" %} thực hiện việc này. Xem jinja2 docs để biết thêm thông tin.

+2

Tôi đọc tài liệu và không thể tìm cách chuyển thông số 'mẫu params' sang' bao gồm'. Bạn có thể làm rõ nếu nó có thể? –

+0

@NamGVU Tôi không chắc đây là cách tiếp cận tốt nhất nhưng đối với một mẫu, tôi sử dụng mẫu lồng nhau hai lần thông qua cơ chế bao gồm để điền hai trường hợp trong cùng một mẫu. Trước khi bao gồm tôi xác định một tập hợp các biến bình để phục vụ như là các biến chính thức cho subtemplate. Các giá trị của các biến đó đóng vai trò như các đối số thực tế cho subtemplate và chúng được điền theo ngữ cảnh của mẫu cha mà tôi đang tạo. – jxramos

Các vấn đề liên quan