【问题标题】:Can't get Django Template Inheritance to work无法让 Django 模板继承工作
【发布时间】:2022-06-14 20:56:05
【问题描述】:

这看起来很简单,但它拒绝工作......

我有我的 base.html 文件:

{% load static %}
<html>
<head>
  <meta charset="utf-8">
  <title>
    {% block title %}
    Simple Skeleton
    {% endblock title %}
  </title>

还有我的 home.html 文件:

{% extends "base.html" %}
<% block title %>
Resource List
<% endblock %>

(它们都有点长,但我觉得这是所有必要的)

home.html 完全无法覆盖代码块中的部分 - 尽管我访问了 home.html 文件,但页面标题仍然是“简单骨架”而不是“资源列表”。

我做错了什么?

【问题讨论】:

  • {% ... %},不是&lt;% ... %&gt;

标签: python html django templates


【解决方案1】:

Django 模板标签写在{% … %}之间,不是&lt;% … %&gt;,所以{% block title %},不是&lt;% block title %&gt;

{% 扩展“base.html” %}
{% 块标题 %}
资源列表
{% 端块 %}

由于没有使用正确的模板标签,Django 将不会呈现此内容:它是块外的内容,因此不会对继承的模板产生影响。

【讨论】:

    【解决方案2】:

    home.html 中有一个拼写错误。模板标签使用{% %},而不是&lt;% %&gt;

    {% extends "base.html" %}
    {% block title %} 
        Resource List
    {% endblock %}
    

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 2014-07-21
      • 2011-02-04
      相关资源
      最近更新 更多