Win*_*ker 63 html django django-templates
我有一个非常基本的模板(basic_template.html),并希望填写使用另一个部分模板格式化的数据.basic_template.html可能包含使用部分模板格式化的一些内容.
我应该如何构建views.py中的代码?
我这样做的原因是稍后将使用Ajax填充.我这样做了吗?
Sim*_*ser 124
你可以做:
<div class="basic">
{% include "main/includes/subtemplate.html" %}
</div>
Run Code Online (Sandbox Code Playgroud)
哪里subtemplate.html是另一个Django模板.在这里subtemplate.html你可以把使用Ajax获得的HTML.
您还可以多次包含模板:
<div class="basic">
{% for item in items %}
{% include "main/includes/subtemplate.html" %}
{% endfor %}
</div>
Run Code Online (Sandbox Code Playgroud)
Wip*_*ozn 20
您可以使用块来完成此操作.块是一个Django模板标记,它将覆盖您扩展的模板的各个部分.我在下面列举了一个例子.
basic_template.html
<body>
{% block 'body' %}
{% endblock %}
</body>
Run Code Online (Sandbox Code Playgroud)
您想要包含的模板:(即example.html)
{% extends 'basic_template.html' %}
{% block 'body' %}
/* HTML goes here */
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
views.py:
return render_to_response(template='example.html', context, context_instance)
Run Code Online (Sandbox Code Playgroud)
这样做会加载basic_template.html,但是将basic_template.html中的所有内容替换{% block 'body' %} {% endblock %}为其中包含的内容{% block 'body' %} {% endblock %}.
您可以在Django Docs中阅读有关块和模板继承的更多信息