Các django template doc đề cập đến sau đây cho các mẫu mở rộng:Làm cách nào để sử dụng mẫu của Django mở rộng biến?
{% extends variable %}
Nơi nào tôi xác định các biến? Có phải từ views.py?
Các django template doc đề cập đến sau đây cho các mẫu mở rộng:Làm cách nào để sử dụng mẫu của Django mở rộng biến?
{% extends variable %}
Nơi nào tôi xác định các biến? Có phải từ views.py?
{% extends %}
thực sự lấy một chuỗi - vị trí của mẫu để mở rộng.
Nếu bạn muốn khai báo biến này bằng Python, hãy chuyển nó vào trình tải mẫu bằng từ điển của bạn. Ví dụ:
import django.http
from django.shortcuts import render_to_response
# ...
INDEX_EXTEND = "index.html"
# ...
def response(request) :
return render_to_response("myview.html", {'extend': INDEX_EXTEND})
Và sau đó trong giao diện:
{% extends extend %}
ý rằng 'extend'
đã được thông qua trong từ điển chuyển cho template. Tất nhiên bạn có thể xác định biến bất kỳ nơi nào khác trong tệp .py
của bạn - hoặc thậm chí trong chính khai báo từ điển.
Hãy nhớ rằng {% extends %}
cũng có thể được gọi như vậy:
{% extends "index.html" %}
Kiểm tra các tài liệu trên Template inheritance, quá.
Vâng, đó chỉ là biến ngữ cảnh giống như bất kỳ biến nào khác.
Bạn không cần phải sử dụng biến - {% extends "main.html" %}
là hoàn toàn có thể chấp nhận được, trên thực tế thích hợp hơn trừ khi bạn cần làm một điều gì đó ồ ạt năng động với kế thừa mẫu.