Skip to content

Dimalright/hw05_final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Социальная сеть YaTube

Социальная сеть для публикации личных дневников. Сайт, на котором можно создать свою страницу. Если на нее зайти, то можно посмотреть все записи автора. Пользователи могут заходить на чужие страницы, подписываться на авторов и комментировать их записи. Автор может выбрать имя и уникальный адрес для своей страницы. Есть возможность модерировать записи и блокировать пользователей, если начнут присылать спам. Записи можно отправить в сообщество и посмотреть там записи разных авторов.

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

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

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

  • В админ-зоне доступно управление объектами модели Post: можно публиковать новые записи или редактировать/удалять существующие.

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

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

  • Зарегистрирована модель 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 ссылка <a href="">все записи группы</a> адресует пользователя на страницу той группы, которой принадлежит пост.
  • Из view-функций в словаре context передаётся основное содержимое страницы.
  • Содержимое тега <title> — для разных страниц разное:
    • для страницы группы: Записи сообщества <имя_группы>;
    • для главной страницы: Последние обновления на сайте.

Установка.

Клонировать репозиторий:

git clone https://github.com/Dimalright/hw05_final.git

Cоздать и активировать виртуальное окружение:

python -m venv venv
source venv/Scripts/activate

Установить зависимости из файла requirements.txt:

pip install -r requirements.txt

Выполнить миграции:

python manage.py migrate

Запустить проект:

python manage.py runserver

Проект доступен по адресу http://127.0.0.1:8000/

About

hw05 final

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors