python – 我无法扩展模板django

我无法展开模板base.html模板header.html

内容base.html

<div id="main-container">
  <!-- HEADER -->
  {% block header %}{% endblock %}
  <!-- END HEADER -->
</div>

内容header.html

{% extends "blog/base.html" %}
{% block header %}
<header id="header">
***
</header>
{% endblock %}

浏览器中的输出获取代码

<div id="main-container">
  <!-- HEADER -->

  <!-- END HEADER -->

为什么不能扩展模板?
使用{%include“blog / header.html”%}代码插入.使用扩展号.
使用Django 1.10.1

views.py

from django.shortcuts import render
from django.utils import timezone
from .models import Post
from django.shortcuts import render,get_object_or_404

def post_list(request):
    posts = Post.objects.filter(published_date__lte=timezone.Now()).order_by('published_date')
    return render(request,'blog/index.html',{'posts': posts})

def post_detail(request,pk):
        post = get_object_or_404 (Post,pk=pk)
        return render(request,'blog/base.html',{'post': post})

def header(request):
    return render(request,'blog/header.html')

通过
{%include“blog / header.html”%}有效.所以拼写正确的方式.

认为这里的错误

def header(请求):
    return(请求,’blog / header.html’)

def header(请求):
    渲染(请求,’blog / header.html’)

def header(请求):
    return render_to_response(request,’blog / header.html’)

不工作(((

解决方法

我想你会混淆django模板中的include和extend.

根据您的文件名,我假设header.html是要包含在base.html中的部分,并且您正在渲染base.html.

Django模板引擎不能这样工作.

在base.html中使用include {%include“path / to / header.html”%},juse在header.html中使用标题html.

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...