django - 扩展在 Django 1.9 中不起作用

标签 django django-templates extends django-1.9

当我将 {% extends "X.html"%} 添加到我的子模板(父模板为“base.html”)时,仅加载父模板。当我把它拿走时,子模板就被加载了。我有另一个应用程序,其中有看似相同的继承结构,所以我很困惑。这是“base.html”:

<!DOCTYPE html>
{% load staticfiles %} 
<html>
  <head>
    {% block js %}
    <script src="{{ STATIC_URL }}js/jquery.1.12.4.min.js"></script>
    <script src="{{ STATIC_URL }}js/p5.js"
    {% endblock %}
    <title>myapp</title>
  </head>
  <body>
    <h1>Welcome to my app</h1>
  </body>
</html>

这里是“grow.html”

<!DOCTYPE html>
{% extends "app/base.html" %}
{% block js %}
  <script src="{{ STATIC_URL }}js/grow.js"></script>
{% endblock %}
{% block content %}
<body>
  <div id="message" style="visibility: hidden;"></div>
  <div id="tree"></div>
  <a href="/register/">register</a>
<form method="POST">
  {% csrf_token %}
  <input type="text" id="txt" />
  <input type="submit" id="grow" value="grow" style="color: grey;"/>
</form>
</body>
{% endblock %}

我肯定在我的views.py中调用子模板,所以这不是问题:

def grow(request):
    ...
    return render(request, 'app/grow.html')

这是我的项目网址:

从 django.conf.urls 导入 include, url 从 django.contrib 导入 admin 从应用程序导入 View

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^grow/', include('app.urls')),
    url(r'^$', views.home, name="home"),    
    ]

和应用程序网址:

from django.conf.urls import url
from app import views

urlpatterns = [
    url(r'^$', views.grow, name='grow'),

    ]

当我访问 url/grow/时,我希望看到“grow.html”,但我看到的是“base.html”。

最佳答案

您的基本模板不包含 content block 。所以它正在继承,只是没有地方可以粘住 block 。

只需添加内容 block 即可。

  </head>
{% block content %}
  <body>
    <h1>Welcome to my app</h1>
  </body>
{% endblock content %}
</html>

关于django - 扩展在 Django 1.9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37546991/

相关文章:

javascript - Django 管理员 : including some data from the database in a change_form

django - docker 中主机的 localhost 和 postgres 之间的区别

javascript - Django html模板:According to selection of category how can get subcategory list in drop down which are belongs to selected category

html - 在 Django 中导入 css

django - 运行 django_cron 时出错

python - Django error_messages{} 的解释?

django - 如何在 Jinja2 模板中使用 Django 模板标签?

java - 如何使用反射获取构造函数,在该构造函数中传递父类(super class)作为参数

java - 对象类型列表和扩展类型的对象列表之间的区别