有时,我的include标记会返回一个空字符串,这是不可能的,因为其中包含一些静态元素。
有时在我的生产环境中会发生这种情况。我该如何调试此类问题?
例如,我的页脚或页眉在某些情况下消失了(我将其包含在“ base.html”中)而无法复制。
Thx
示例:
<html>
...
{% include "subdir/_header.html" %}
...
{% block content %}
<h1>Default Content</h1>
{% endblock %}
...
{% include "subdir/_footer.html" %}
</html>
{% extends "base.html" %}
{% block content %}
<h1>Home related Content</h1>
{% endblock %}
因此,如果我加载home.html,则页脚有时会消失。不知道为什么,没有错误。
发现问题
缺少静态文件导致了此类问题。不幸的是,我没有收到错误消息。
答案 0 :(得分:1)
我不知道此问题的确切原因,但是您可以尝试使用{%extended'base.html'%}。
包含和扩展之间的区别就在这里:
答案 1 :(得分:0)
您的基本html应该扩展,不包括在内。...包含小段代码,例如组件...博客文章,新闻,联系方式等等
基本html
{% load static %}
<!DOCTYPE html>
<html lang="en-US">
{% include 'path/head.html' %}
{% block content %}{% endblock %}
{% include 'path/footer.html' %}
</html>
其他页面
{% extends 'base.html' %}
{% load static %}
{% block content %}
<!-- Content from each page -->
{% endblock %}
糟糕:不能正确地包含在include的内部,您可以从includes include的第一页中获取数据...为此,我通常根据需要使用templatetags或context_processors。
使用django-debug-toolbar在开发环境中调试整个应用程序,您可以看到整个请求以及所需的