【发布时间】:2010-11-22 19:14:23
【问题描述】:
【问题讨论】:
【问题讨论】:
{% extends %} 实际上接受一个字符串——要扩展的模板的位置。
如果您想在 Python 中声明此变量,请使用您的字典将其传递给模板加载器。示例:
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})
然后在视图中:
{% extends extend %}
注意'extend' 是在传递给模板的字典中传递的。您当然可以在 .py 文件中的任何其他位置定义变量 - 甚至在字典声明本身中。
请记住,{% extends %} 也可以这样调用:
{% extends "index.html" %}
也可以查看Template inheritance 上的文档。
【讨论】:
是的,它只是一个和其他变量一样的上下文变量。
您不需要使用变量 - {% extends "main.html" %} 完全可以接受,实际上更可取,除非您需要使用模板继承进行大规模动态操作。
【讨论】: