Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 1.11-子模板未从父模板继承_Django_Django Templates_Chart.js - Fatal编程技术网

Django 1.11-子模板未从父模板继承

Django 1.11-子模板未从父模板继承,django,django-templates,chart.js,Django,Django Templates,Chart.js,我已经阅读了类似的堆栈溢出问题,并检查了我没有犯同样的错误。我认为这不是URL或视图的问题,因为Django调试工具栏显示它正在拾取父模板,但子模板没有扩展它 我有以下项目结构: project templates base.html index.html apps charts templates chart_base.html charts

我已经阅读了类似的堆栈溢出问题,并检查了我没有犯同样的错误。我认为这不是URL或视图的问题,因为Django调试工具栏显示它正在拾取父模板,但子模板没有扩展它

我有以下项目结构:

project
    templates
        base.html
        index.html

    apps
        charts
            templates
                chart_base.html
                charts.html
project/templates/base.html

结果页面的HTML源代码显示chart_base.HTML已正确呈现,但没有charts.HTML位

127.0.0.1:8000/结果/



你知道我哪里会出错吗?

在你的
base.html
中,你有一个打字错误。您正在使用
标记关闭

<footer class="footer">
    <div class="container">
        {% block footer %}
        {% endblock %}
    </container>
</footer>

{%block footer%}
{%endblock%}
应该是:

<footer class="footer">
    <div class="container">
        {% block footer %}
        {% endblock %}
    </div>
</footer>

{%block footer%}
{%endblock%}

还可以将
charts.html
包装在一个块中,以便它可以包含在任何地方。

base.html
中,您有一个输入错误。您正在使用
标记关闭

<footer class="footer">
    <div class="container">
        {% block footer %}
        {% endblock %}
    </container>
</footer>

{%block footer%}
{%endblock%}
应该是:

<footer class="footer">
    <div class="container">
        {% block footer %}
        {% endblock %}
    </div>
</footer>

{%block footer%}
{%endblock%}

还可以将
charts.html
包装在一个块中,以便它可以包含在任何位置。

您的视图应该使用
charts.html
,而不是
chart\u base.html
(它扩展了)

您可以使用
TemplateView
而不是
View

class HomeView(TemplateView):
    template_name = 'chart.html'
charts.html
中,注释和
标记不在任何块中。这意味着它们不会包含在渲染模板中,因此可以删除它们

{% extends 'chart_base.html' %}

<!-- charts.html jquery -->
    <script>
    {% block jquery %}
{%extends'chart\u base.html%}
{%block jquery%}

您的视图应该使用
charts.html
,而不是
chart\u base.html
(它扩展了)

您可以使用
TemplateView
而不是
View

class HomeView(TemplateView):
    template_name = 'chart.html'
charts.html
中,注释和
标记不在任何块中。这意味着它们不会包含在渲染模板中,因此可以删除它们

{% extends 'chart_base.html' %}

<!-- charts.html jquery -->
    <script>
    {% block jquery %}
{%extends'chart\u base.html%}
{%block jquery%}

不幸的是,这还没有解决问题。。。我已将代码更改为
{%extends'chart\u base.html%}/n{%block chart%}/nchart

/n{%endblock%}
,但仍然没有任何内容。还有其他想法吗?我刚刚注意到-您在视图中使用了错误的模板问题是我使用的是
chart\u base.html
,而不是
chat.html
。它可以在不将脚本包装到块中的情况下工作——我正在处理这个示例——我感到困惑,因为注释和脚本标记在块之外,所以永远不会使用。我现在看到代码的其余部分在
{%block jquery%}
中,因此现在将使用它,因为您在视图中使用了正确的模板。不幸的是,这并没有解决它。。。我已将代码更改为
{%extends'chart\u base.html%}/n{%block chart%}/nchart

/n{%endblock%}
,但仍然没有任何内容。还有其他想法吗?我刚刚注意到-您在视图中使用了错误的模板问题是我使用的是
chart\u base.html
,而不是
chat.html
。它可以在不将脚本包装到块中的情况下工作——我正在处理这个示例——我感到困惑,因为注释和脚本标记在块之外,所以永远不会使用。现在我看到代码的其余部分在
{%block jquery%}
中,因此现在您在视图中使用了正确的模板,就可以使用它了。
class HomeView(TemplateView):
    template_name = 'chart.html'
{% extends 'chart_base.html' %}

<!-- charts.html jquery -->
    <script>
    {% block jquery %}