Có cái gì đó giống như xem một phần của net MVC 3 trong bình không?
Tôi muốn nhúng tiện ích vào một trang xem và tiện ích đó có logic riêng.Chế độ xem một phần của Flask như MVC 3
Trả lời
Có một số cách để đưa vào nội dung trong một mẫu Jinja2:
Tuyên bố include
sẽ làm cho quan điểm cung cấp (với bối cảnh hiện nay theo mặc định):
{# In your_view_template.jinja #}
{# ... your code ... #}
{% include "widgets/your_widget.jinja" %}
{# ... your code ... #}
Bạn cũng có thể xác định macros và import chúng vào xem mẫu:
{# In your_view_template.jinja #}
{% import "widgets/your_widget.jinja" as your_widget %}
{# ... your code ... #}
{{ you_widget.render(your, important, variables, etc.) }}
{# ... your code ... #}
Cả import
và 0.123.có thể sử dụng các biến, vì vậy một cái gì đó như thế này có thể:
# In your view
if complex_conditions.are_true():
widget = "widgets/special_custom_widget.jinja"
else:
widget = "widgets/boring_widget.jinja"
render_template("your_view.jinja", widget=widget)
{# In your_view_template.jinja #}
{% include widget %}
{#
import widget as sidebar_widget
{{ sidebar_widget.render() }}
would also work
#}
Những cả làm việc tương tự như quang cảnh một phần MVC của (ít nhất, bởi vì như tôi hiểu họ)
Cách khác, nếu widget của bạn cần truy cập vào ACL hoặc thông tin không nên có sẵn cho lớp mẫu và bạn không thể viết lại chế độ xem của mình để tận dụng lợi thế của include
và import
bạn có thể thực hiện đề xuất của @ [Alex Morega] và chuyển trong một cuộc gọi dưới dạng biến cho mẫu và hiển thị nó đó.
# In your view
render_template("your_view.jinja", widget=you_callable, etc, etc, etc)
{# In your_view_template.jinja #}
{# ... your code ... #}
{{ widget() }}
{# Or, if you are returning HTML that is not a Markup construct #}
{{ widget() | safe }}
{# ... your code ... #}
Bạn có thể thậm chí tạo của riêng bạn template loader và tải mẫu khác nhau tùy thuộc vào hầu như bất cứ điều gì . Nhưng đó chắc chắn sẽ là quá mức cần thiết cho trường hợp này.
- 1. Vô hiệu hóa bộ nhớ đệm trên một chế độ xem một phần trong MVC 3
- 2. MVC 3 Dao cạo. Xác nhận một phần Chế độ xem không hoạt động
- 3. ASP.NET MVC 3 Xem một phần trong trang bố cục
- 4. Giao tiếp liên kết trong một chế độ xem (MVC)
- 5. KnockoutJS - Nhiều chế độ xem một phần trong chế độ xem chính?
- 6. Sử dụng các phần trong Chế độ xem một phần trong MVC 4.0
- 7. ASP MVC Xác định phần trong chế độ xem một phần
- 8. MVC 3 Không thể chuyển chuỗi dưới dạng mô hình của Chế độ xem?
- 9. Xem một phần Caching trong ASP.NET MVC 3
- 10. Đăng biểu mẫu có nhiều chế độ xem một phần
- 11. Trả lại phản hồi JSON từ chế độ xem Flask
- 12. Android: Có chế độ xem Xem tùy ý trong Chế độ xem khác như bàn phím phần mềm
- 13. Cách chuyển Mẫu từ chế độ xem sang chế độ xem một phần?
- 14. MVC: Cách sử dụng (kết xuất) các phần từ chế độ xem gốc (chế độ xem chính)?
- 15. Thực hiện Javascript bên trong một chế độ xem một phần trong ASP.NET MVC
- 16. Cách xem chế độ xem phụ huynh từ chế độ xem từng phần
- 17. Danh sách loại tùy chỉnh ASP.NET MVC ở chế độ xem một phần
- 18. MVC 3 Thuộc tính mô hình không được đặt ở chế độ xem từng phần được gọi là html.action
- 19. Tải chế độ xem trong một chế độ xem khác
- 20. Tại sao Chế độ xem và chế độ xem một phần có cùng phần mở rộng tệp cshtml trong Razor?
- 21. Xác thực ứng dụng khách ASP.NET MVC với chế độ xem một phần và Ajax
- 22. MVC - Cùng một URL, nhiều chế độ xem
- 23. MVC 3 - bổ sung Chế độ xem mặc không xuất hiện trong Editor Đối với mẫu
- 24. Nhận biên độ của Chế độ xem
- 25. Cách tạo chế độ xem từ ảnh toàn cảnh 360 độ. (như chế độ xem phố)
- 26. Không tìm thấy không gian tên trong chế độ xem MVC 3 Dao cạo
- 27. Cập nhật một phần MVC Ajax xem
- 28. RenderSection từ chế độ xem từng phần
- 29. Thêm chế độ xem trong các thư mục con trong ASP.NET MVC 3
- 30. MEF và MVC 3 - cách tải chế độ xem được nhúng động từ vùng chứa mef?
Bạn có thể viết mã tiện ích trong một hàm và gọi hàm đó từ chế độ xem, điều đó là chưa đủ? –
@Alex Morega làm thế nào để gọi functin trong jinja2 xem mẫu? – magicshui
@magicshui Bạn chuyển nó vào render_template làm đối số ... – plaes