簡體   English   中英

擴展在Django 1.9中不起作用

[英]extends not working in 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導入包括,從django.contrib導入的URL從應用程序導入視圖

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塊。 所以它繼承的,它無處可擋。

只需添加內容塊。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM