2016-05-31 20 views
1

子テンプレート(親が "base.html")に{% extends "X.html" %}を追加すると、親テンプレートのみが読み込まれます。それを取り除くと、子テンプレートがロードされます。私は一見同じ継承構造を持つ別のアプリを持っているので、私は困惑しています。ここで "base.html" です:それは問題ではないので、私は間違いなく、私のviews.pyに子テンプレートを呼び出しています。ここはDjango 1.9で動作しません。

<!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 %} 

です:

django.conf.urlsから

インポートが含まれ、URL django.contrから:ここで

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

は私のプロジェクトのURLですアプリのインポートビュー

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

とアプリのURLからIBインポート管理者 :私はURLに行くとき

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

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

    ] 

/成長/「I "はgrow.html" を参照してくださいことを期待していますが、私は見ていますbase.html "を参照してください。

+1

base.htmlに '{%block content%} {%endblock%}'を追加する必要があります – trantu

答えて

5

ベーステンプレートにcontentブロックが含まれていません。だからを継承しているだけで、ブロックを貼り付けることができません。

コンテンツブロックを追加するだけです。

</head> 
{% block content %} 
    <body> 
    <h1>Welcome to my app</h1> 
    </body> 
{% endblock content %} 
</html> 
関連する問題