我是Django的新手,我正在尝试加载bootstrap5和js到我的项目。为了实现这一点,我在templates下创建了一个'base.html',并在我的另一个html文件中扩展它。举例来说:
{% extends 'base.html' %}
{% block content %}
<div class="mt-4">
<h2>Log In</h2>
<form method="post"> {% csrf_token %}
{{ form.as_p }}
<button type="submit">Log In</button>
</form>
</div>
{% endblock %}
字符串
这个方法是可行的,但我认为如果我在所有的html文件中包含这些标签,它可能会使维护变得更困难,所以有可能删除这些标签,并且依赖项仍然有效吗?
{% extends 'base.html' %}
{% block content %}
...
{% endblock %}
型
我已经尝试使用document_processors来加载CDN,我可以确认这个方法被执行,但是如果我删除标签,样式仍然没有加载。
# document.processor.py
def base_template_variables(request):
return {
'title': 'Default Title',
'bootstrap_css_cdn': 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css',
'bootstrap_js_cdn': 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/js/bootstrap.bundle.min.js',
}
型
1条答案
按热度按时间mqkwyuun1#
最后,它将只是一个HTML文件。这些标签使django开发人员更容易使用html文件,并编写更少的代码,与普通html文件相同,因此这些标签是Django中模板继承所必需的。
{% extends 'base.html' %}
标签告诉Django这个模板是从base.html扩展而来的,而{% block content %}...{% endblock %}
标签定义了一个可以在子模板中覆盖的内容块。如果删除这些标记,模板继承将无法工作,并且您将无法使用基本模板来包含跨多个模板的公共元素,例如样式表和脚本。