№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Может ли у меня не получится стать программистом Python? Нет, Не может.

11. Напишем класс удаление поста DeleteView.

class PostDeleteView(LoginRequiredMixin, UserPassesTestMixin, DeleteView):.....

Для того, что бы написать код удаления поста или любого другого контента, не важно какого мы можем использовать единый принцип.

LoginRequiredMixin - проверить что пользователь авторизован.

UserPassesTestMixin - прописать и проверить права пользователя на удаление(здесь важно прописать метод (кстати, это в джанго пришло с библиотеки django-braces).

DeleteView - удалить, при помощи спец. класса.

Разберём подробнее.

Перейти к уроку

12. Бонус, как ещё можно использовать UserPassesTestMixin?

Расскажу, как ещё можно использовать UserPassesTestMixin.

Перейти к уроку

13. Пропишем переменные и методы класса PostDeleteView.

По документации, что бы написать класс для удаления нам нужно:

-

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):
    .........

Перейти к уроку

14. Пропишем url PostDeleteView.

C url у нас вопрос не должно быть, просто пишем, все это мы уже умеем.

Перейти к уроку

16. Пропишем форму в сам шаблон удаления записи.

Нам нужно написать форму и кнопки:

Удалить.

НЕ удалять.

aist2022-03-15_14-54.png

Перейти к уроку


Просмотр всех сообщений c тегом: delete-post