3. Новости/Блог

Это модуль для ведение блога.

3.1. Категории

3.1.1. Template tags

Подключение тега. Если не указать шаблон, то будет взят по умолчанию.

{% load news_tags %}

{% category_list %}

Изменение шаблона

{% category_list template="categories.html" %}

Шаблон для вывода списка категорий.

<ul>
    {% for category in category_list %}
        <li>
            <a href="{{ category.get_absolute_url }}">{{ category.name }}</a>
        </li>
    {% endfor %}
</ul>

Вывод списка всех категорий без использования шаблона.

{% load mptt_tags news_tags %}
<ul>
    {% for_category_list as categories %}
    {% recursetree categories %}
        <li>
            <a href="{{ node.get_absolute_url }}">{{ node.name }}</a>
            {% if not node.is_leaf_node %}
                <ul class="children">
                    {{ children }}
                </ul>
            {% endif %}
        </li>
    {% endrecursetree %}
</ul>

3.1.2. Поля модели категории

name:Название
lang:Язык
parent (related_name=“children“):
 Родительская категория
template (default=“news/post_list.html“):
 Шаблон
slug:url
published:Опубликовать или снять с публикации
paginated (default=5):
 Количество новостей на странице

3.2. Статьи/новости

3.2.1. Вывод списка статей

Имя шаблона
news/post_list.html
{% for post in post_list %}
    {% if post.image %}
        <img src="{{ post.image.url }}">
    {% endif %}
    <p>{{ post.published_date }}</p>
    <p>
        {{ post.title }}
    </p>
{% endfor %}

3.2.2. Вывод полной статьи

Имя шаблона
news/post_detail.html
<h1>{{ post.title }}</h1>
{% if post.author %}
    <p>{{ post.author }}</p>
{% endif %}
<p>Опубликовано {{ post.created_date }}</p>
{% if post.image %}
    <img src="{{ post.image.url }}" alt="{{ post.title }}">
{% endif %}
{{ post.text|safe }}
Просмотренно - {{ post.viewed }}

3.2.3. Поля модели статей

author:Автор (FK)
title:Заголовок
subtitle:Под заголовок
mini_text:Краткое содержание статьи
text:Полное содержание статьи
created_date:Дата создания
edit_date:Дата редактирования
published_date:Дата публикации - когда будет опубликованно
image:«Главная фотография»
tag:Теги (M2M)
category:Категория (FK)
template:Шаблон
slug:url
published:Опубликовать или снять с публикации
viewed:Просмотров
status:Отображать для зарегистрированных пользователей или нет

3.2.4. Template tags

Подключение тега. Если не указать шаблон, то будет взят по умолчанию.

{% load news_tags %}

{% post_list %}

Изменение шаблона

{% post_list template="news_block_tags.html" %}

Шаблон для вывода списка статей.

{% for post in post_list %}
    <h2><a href="{{ post.get_absolute_url }}"> {{ post.title }} </a></h2>
    {% if post.image %}
        <img src="{{ post.image.url }}">
    {% endif %}
    <p>{{ post.mini_text|safe }}</p>
    <p>{{ post.published_date }}</p>
{% endfor %}

3.2.5. for_post_list

Вывод списка статей без использования шаблона.

{% for_post_list as post_list %}
{% for post in post_list %}
    <div>
        <h2><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h2>
        {% if post.image %}
            <img src="{{ post.image.url }}">
        {% endif %}
        <p>{{ post.mini_text|safe }}</p>
    </div>
{% endfor %}

3.3. Теги

3.3.1. for_tags_list

Вывод списка всег тегов статей.

{% load news_tags %}
<ul>
    {% for_tags_list as tags %}
    {% for tag in tags %}
        <li><a href="{{ tag.get_absolute_url }}">{{ tag.name }}</a></li>
    {% endfor %}
</ul>

3.3.2. Поля модели тегов

name:Имя
slug:url
published:Опубликовать или снять с публикации

3.4. Комментарии

3.4.1. Поля модели комментариев

user ForeignKey:
 Связь с моделью Пользователей
post ForeignKey:
 Связь с моделью Новость
text (max_length=2000):
 Сообщение
date:Дата
update:Изменен
parent TreeForeignKey(related_name=“children“):
 Родительский комментарий
published:Опубликовать или снять с публикации