私はDjangoでブログを構築していて、自分のテンプレートについて知っています:ブログのホームページは、1つのブログと同じ形式を使ってすべての個々の投稿を表示することができます。要約のために切り捨てられます。Djangoはブログの要約を切り捨てます
だから何私がやったことは、私がホームページテンプレートに含めるしたいブログを表示するためのテンプレートを定義した:
{# blog/post_snippet.html #}
{% block content %}
<h1> {{ post.title }} </h1>
{% if post.author %}
<h4>By {{ post.author.short_name }}</h4>
{% endif %}
{% if post.date_published %}
<span>On {{ post.date_published }}</span>
{% endif %}
<p> {{ post.text | safe }} </p>
{% endblock %}
そして、これは「すべての記事」ページ内のループのために内部で使用されます:
{% block content %}
{% for post in posts %}
{% include 'blog/post_snippet.html' %}
{% endfor %}
{% endblock %}
すべての投稿を表示するとき、テンプレートシステムにブログのテキストを切り捨てるように教えるにはどうすればよいですか? 1つの解決策は、テンプレートコードを複製することですが、私はそれをしたくありません。私も継承を考えていましたが、テンプレートはすでに基本テンプレートから継承していますが、継承するとすぐにすべてのコンテンツが挿入されるため、ブロックの配置を制御することはできません。
私は実際にはかなり混乱しています。ここでベストプラクティスは何ですか?
create 2 snippets ' post_sinppet.html'と 'short_post_snippet.html'です。私が思い出すことのできる他の方法はありません。 –