Джанго, Шаблон
Я начинающий Django и язык шаблонов...
Вот мой код:
base.html
{% block news%}
<div class="row">
<div class="span6">
<div class="news-content clearfix">
<div class="news-title"><a href="#">Манай хамт олны тухай</a></div>
<div class="text clearfix>
<img src="{{STATIC_URL}}img/image1.jpg">
# here is some text
</div>
<div class="pull-right">00
<a class="btn btn-small" href="#">Дэлгэрэнгүй</a>
</div>
</div>
</div>
<div class="span6">
<div class="news-content clearfix">
<div class="news-title"><a href="#">#title</a></div>
<div class="text clearfix">
<img src="{{STATIC_URL}}img/image2.jpg">
# text-2
</div>
<div class="pull-right">
<a class="btn btn-small" href="#">Дэлгэрэнгүй</a>
{% endblock %}
news_list.html
{% extends "base.hmtl"%}
{% block news %}
{% for news in news_list %}
######## here i want to display last 2 news at row #########
{% endfor %}
{% endblock %}
1 ответ
Вы все неправильно поняли.
base.html
должен содержать весь код, который должен быть повторно использован на вашем сайте. Например, такие файлы, как CSS и javascript, включены в base.html
Внутри base.html вы должны включить block
то есть для хранения кода, который варьируется от страницы к странице. Вы также можете использовать несколько блоков, таких как верхний и нижний колонтитулы.
Когда шаблон отображается, запрошенный шаблон "импортирует" base.html, используя {% extends "base.html" %}
. После импорта, block
определенный в base.html заменяется блоком в запрошенном шаблоне.
Что касается вашего вопроса, код, который вы написали в base.html, который определяет, как отображать ваши новости, должен находиться в файле news_list.html, в цикле for.
Я предполагаю, что список новостей QuerySet
т.е. результат запроса к базе данных и содержит атрибуты title
,content
так далее
{% extends "base.html" %}
{% block news %}
{% for news in news_list %}
<div class="row">
<div class="span6">
<div class="news-content clearfix">
<div class="news-title"><a href="#">{{ news.title }}</a></div>
<div class="text clearfix>
<img src="{{STATIC_URL}}img/image1.jpg">
</div>
<div class="pull-right">00
<a class="btn btn-small" href="#">{{ whatever }}</a>
</div>
</div>
</div>
{% endfor %}
{% endblock %}
И ваш base.html
<html>
CSS,JS here if any
<body>
{% block news %}
{% endblock %}
</body>
</html>