149.30K
Category: programmingprogramming

Создание модели для картинок, реализация лайков постов, возможность постить картинки

1.

Практика 7
Создание модели для картинок, реализация лайков постов,
возможность постить картинки

2.

Общее задание на практику
• Необходимо создать ленту со всеми постами на главной
странице, куда нас перебрасывает после логина. То есть на
главной странице будем из бд выводить все картинки.
• Также под каждой картинкой будет описание и возможность
поставить лайк(реализация либо надписью, либо
картинкой). Если лайк поставлен надпись/ картинка должна
меняться. Также должно показываться их количество.
• Также необходимо создать добавление поста в профиле
(главной странице, где удобно).
• Сделать вывод всех постов, которые были опубликованы
конкретным пользователем (в любом месте)
• Добавить ссылку из профиля на главную страницу

3.

• 1. Для реализации ленты необходимо создать модель
• Где image – сама картинка, description – ее описание,
created_at – дата создания, author – тот, кто выложил
данный пост, likes – кол-во лайков (Прошу обратить
внимание на связь ManyToMany)
• 2. Необходимо во views.py создать или видоизменить 2
views – первая для вывода всех постов, те. Все объекты из
бд. И передать на главную

4.

• Пример views для лайка/дизлайка
• В urls.py необходимо добавить ссылку при лайке коммента,
в которую мы передаем id картинки. Также создать переход
на главную страницу с данными, если он еще не был создан
• Реализовать в темплейтах отображение картинки,
описания, лайков.

5.

• Для загрузки картинок необходим пакет Pillow. pip install
Pillow
• Если картинки не отображаются, то необходимо прописать
пути к папке, в которой они должны быть (media по
дефолту)
• В settings.py добавить
• А также подключить эту папку в корневых urls.py

6.

• 2. Для добавления изображения необходимо создать форму
на основе модели
• Необходимо через views.py передать эту форму туда, где
вы будете загружать ваши изображения (профиль, главная
страница, другой шаблон), так же как и в практике №4. В
этой же функции записать картинку в бд при отправке
формы.
• Развернуть форму в соответствующем template, где будет
добавление картинки.
• Для формы желательно прописать

7.

• Для вывода всех постов у пользователя необходимо либо
создать представление , в котором фильтруем Images по
конкретному пользователю, либо
• Можем получать доступ из таблицы с user, которая
передается по дефолту, т.к связь многие ко многим.
English     Русский Rules