Skip to content

loskuta42/hw02_community

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

backend_community_homework - Приложение Post, для публикации записей и разделения их по сообществам пользователей, в дальнейших проектах планируется его доработка.

Установка:

после клонирования, находясь в склонированном каталоге прописать в консоли: pip install -r requirements.txt

Описание проекта

Создано и зарегистрировано приложение Posts.

Подключена база данных.

Десять последних записей выводятся на главную страницу.

В админ-зоне доступно управление объектами модели Post: можно публиковать новые записи или редактировать/удалять существующие. Пользователь может перейти на страницу любого сообщества, где отображаются десять последних публикаций из этой группы.

Модели (models.py):

  1. Post - запись. Поля:
  • text(текст записи) - тип поля - Текст
  • pub_date(дата публикации) - тип поля - Дата (автоматически добавляется текущая дата)
  • author(Автор) - тип поля - Ссылка на модель User (связь «один-ко-многим»)
  • group(Сообщество) - тип поля - Ссылка на модель Group (связь «один-ко-многим»)
  1. Group - сообщество. Поля:
  • title(Имя) - тип поля - Строка
  • slug(Адрес) - тип поля - slug
  • description(Описание) - тип поля - Текст метод str возвращает имя сообщества (title)

Админка (admin.py)

  • Зарегистрированы модели Post, Group.

  • Для модели Post создана кастомная админка:

    • В списке объектов в админке отображаются поля pk, text, pub_date, author, group.
    • Содержимое поля group можно редактировать в админке прямо в списке объектов Post.
    • Доступен поиск по полю text.
    • Доступна фильтрация по полю pub_date.
    • Если какое-то поле не заполнено, в нём отображается текст -пусто-.

View-функции (views.py):

  • index(): передаёт в шаблон posts/index.html десять последних объектов модели Post.
  • group_posts(): передаёт в шаблон posts/group_list.html десять последних объектов модели Post, отфильтрованных по полю group, и содержимое для тега <title>.

Адреса (urls.py)

  • Для приложения Posts установлен namespace='posts'.
  • Для главной страницы установлен name='index'.
  • Страница с постами из определённой группы доступна по URL вида group//.
  • Для страницы с постами группы установлен name='group_list'.

Шаблоны:

  • Файлы шаблонов хранятся на уровне проекта.
  • Шаблоны разбиты на логические блоки и собираются с помощью тегов include и extend.
  • К шаблонам подключена статика.
  • В шаблоне index.html ссылка все записи группы адресует пользователя на страницу той группы, которой принадлежит пост.
  • Из view-функций в словаре context передаётся основное содержимое страницы.
  • Содержимое тега <title>:
    • для страницы группы: Записи сообщества <имя_группы>;
    • для главной страницы: Последние обновления на сайте.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published