2017-04-23 1 views
0

私はthis Django CMSを使用して基本的なブログを構築する上でのチュートリアルに従っており、奇妙な動作に遭遇しています。コンテンツエリアがCMSのStructureセクションで作成されていないことがわかったとき、それはすべて始まった。それを調べているうちに、私は奇妙な行動を発見しました。Django CMSプレースホルダテンプレートブロック内に表示されない

ここにあります。

base.html:

<!-- Main Content --> 
<div class="container"> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
      {% block content %}{% endblock %} 
     </div> 
    </div> 
</div> 
<hr> 

content.html:

{% extends "base.html" %} 
{% load cms_tags %} 

{% block content %} 
    {% placeholder content or%} 
    {% endplaceholder %} 
{% endblock content %} 

上のこの構成CMSの構成ページにはコンテンツブロック。ただし、base.htmlスニペットを次のように変更すると動作します。

base.html:これはなぜ起こるか

<!-- Main Content --> 
<div class="container"> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
       {% placeholder content or%} 
       {% endplaceholder %} 
     </div> 
    </div> 
</div> 
<hr> 

誰かが私に教えてもらえますか? Djangoがテンプレートブロックをどのように扱うのか見当たりません。 2つのケースは同じように扱われるべきだと私には思われます。しかし、結果は明らかに異なります。チュートリアルでは、content.html側を変更する必要があると主張しています。しかし、上記のように、それは動作しません。

説明はありません。

+0

はどちらも実際に同一であるように見える、と私に応じて動作するはずです。私が考えることができるのは、あなたが別のbase.htmlを拡張しているかもしれないということだけです。 content.htmlに基本HTMLを追加してレンダリングされるかどうか試してみてください。 – dentemm

+0

私はあなたが提案したものを試してみましたが、何の効果もありませんでした。もう少し長い間演奏していたので、私はそれを解決することができました。興味があれば私の答えを見てください。 – MadPhysicist

答えて

0

私は以下の変更を使用してこれを解決できました。

base.html:

<!-- Main Content --> 
{% placeholder content or %} 
<div class="container"> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
      {% block content %}{% endblock %} 
     </div> 
    </div> 
</div> 
<hr> 
{% endplaceholder %} 

content.html:

{% extends "base.html" %} 
{% load cms_tags %} 

{% block content %} 
{% endblock content %} 
関連する問題