我想做的是
我的base.html有一个扩展到它的Cart.html
而其他子HTML可以扩展到base.html并在base.html中提供Cart.html
类似这样的事情
Catalogue.html ----> base.html with Cart.html
Catagories.html ------ ^
我尝试在base.html中包含,表单和按钮确实出现了
但它没有通过Cart.html
中的类和函数maintainer_id
尝试双重扩展,但在Cart.html中不允许
null
class CartFormView(generic.ListView, ModelFormMixin):
template_name = 'Shop/Cart.html'
def get(self, request, *args, **kwargs):
#bla bla bla
def post(self, request, *args, **kwargs):
#bla bla bla
由于
答案 0 :(得分:0)
cart.html
base.html
内创建{% block cart_page %}
并在其中输入:{% include 'path/to/cart.html' %}
。cart.html
代码段。这样的事情:
<!-- base.html -->
<!DOCTYPE html>
...
<body>
{% block cart_page %}
{% include 'templates/cart.html' %}
{% endblock %}
</body>
现在,如果您希望某些HTML模板不包含cart.html
,那么请在这些模板中写下:
{% block cart_page %}{% endblock %}
当然,如果您想将cart.html
包含在任何(子)模板中,您应该在每个子模板的顶部执行:{% extends 'base.html' %}
。
最好cart.html
不包含完整的样板HTML(以<!DOCTYPE html>
等开头),因为它被视为一个片段。唯一具有<!DOCTYPE html>
等的文件将是base.html
(核心文件)。