Специальная, подарочная акция получения доступа к Django4!
Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.
Все что мы делаем - это мы уже делали, сложностей здесь не вижу.
Здесь все просто.
Нам нужно лайки подсчитать? Нужно. Давайте это сделаем прямо в модели.
Нам нужно вывести пост на странице и имя автора комментария? Нужно. Напишем метод.
Нам нужно сделать url? - сделаем по get_absolute_url().
И на последок в админку пропишем.
class PostDeleteView(LoginRequiredMixin, UserPassesTestMixin, DeleteView):.....
Для того, что бы написать код удаления поста или любого другого контента, не важно какого мы можем использовать единый принцип.
LoginRequiredMixin - проверить что пользователь авторизован.
UserPassesTestMixin - прописать и проверить права пользователя на удаление(здесь важно прописать метод (кстати, это в джанго пришло с библиотеки django-braces).
DeleteView - удалить, при помощи спец. класса.
Разберём подробнее.
Расскажу, как ещё можно использовать UserPassesTestMixin.
По документации, что бы написать класс для удаления нам нужно:
-
from django.urls import reverse_lazy from django.views.generic.edit import DeleteView from myapp.models import Author class AuthorDeleteView(DeleteView): model = Author success_url = reverse_lazy('author-list')
Нам с вам нужно будет дописать ещё метод, что бы проверить действительно ли запись принадлежит пользователю.
По такому принципу можно удалять любые форматы страниц, видео, аудио и т. д.
def test_func(self): .........
< 1 2 3 ... 44 45 46 47 48 ... 59 60 61 >