2009-08-25 23 views

Trả lời

16

{% 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á.

6

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.

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