0

编辑:请不要被这个问题误导,我的改变没有奏效是我的错。我碰巧必须对名称相同的项目(not a smart idea)这混淆了一切,我正在与我正在工作的不同项目中进行更改。对不起,我误导了好的stackoverflow人员。

我有一个基本模板public_base.html

<!doctype html>
<!-- [if IE ]> <html class="no-js"> <![endif] -->
<head>

  <!-- favicon for web browser and smartphones -->
  <link rel="icon" href="{{ STATIC_URL }}images/img.png" type="image/x-png">
  <link rel="apple-touch-icon" href="{{ STATIC_URL }}img/apple-touch-icon.png">

  <!-- Google Fonts -->
  <link href='http://fonts.googleapis.com/css?family=Homenaje|Molengo' rel='stylesheet' type='text/css'>

  <!-- CSS Section -->
  <link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}maincss/bootstrap.min.css">

  <link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}maincss/impress.css">  
  <link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}maincss/style.css">
  <link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}maincss/impression.css">


  <title>{% block title %}F4L | Have it easy{% endblock %}</title>
</head>

<body lang="en">

  <div id="container">
    {% load smartmin %}
    <div id="header">                                                                     <!-- Header -->
      <div id="logo">
        <a href="{% url homepage %}">
          <img src="{{ STATIC_URL }}img/logo.jpg" class="" alt="" />
        </a>
      </div>
      <div id="menu">
        <ul>

      {% if perms.restaurant_detail.restaurant_detail.create %}
          <li><a href="#">Join F4L</a></li>
      {% endif %}
      <li><a href="#">FAQ</a></li>
      <li><a href="#">contact</a></li>
          <li><a href="#">about us</a></li>

      {% if request.user.is_authenticated %}
      <li><a href="{% url users.user_logout %}">logout</a></li>

          {% else %}
          <li><a href="{% url users.user_login %}">login</a></li>
          {% endif %}
        </ul>
      </div>
    </div>                                                                                <!-- End Header -->
    <div style="clear: both;"></div>

    <div id="main">                                                                       <!-- Main -->
      {% block main-contents %}
       <p>jrneflkwnel</p>
      {% endblock %}
    </div>  

  </div>

我在这里继承,home.html

{% extends "public_base.html" %}

{% block main-contents %}

 <p>This is not Working.</p>

{% endblock main-contents %}

但这根本不起作用,基本上home.html没有加载内容。是什么原因造成的?

4

2 回答 2

0

你需要继承你的块home.html

{% extends "public_base.html" %}
{% block main-contents %} 
      <p>This is not Working.</p>   
{% endblock %}

阅读有关模板继承的文档,特别是:

[当您从父模板继承时] 模板引擎会注意到 base.html 中的三个块标记,并将这些块替换为子模板的内容。

因此,当您从父模板继承时,您需要在子模板中包含一个块,该块覆盖父模板中的块,在本例中为main-contents块。

于 2013-04-01T10:53:57.093 回答
0

您必须block contentpublic_base.html. 在你的public_base.html.

{% block content %}
{% endblock %}

否则你必须继承{% block main-contents %}public_base.html.

于 2013-04-01T10:54:12.260 回答