Ситуация довольно проста :Я пишу многопользовательскую систему блогов -. Система должна запрещать не -владельцу редактировать или удалять сообщение в блоге. На мой взгляд, я использую общий вид.
класс BlogUpdateView (UpdateView ):...
Я знаю, что должен использовать декоратор @method _для украшения метода отправки. Однако в большинстве случаев это просто @method _decorator (login _required )или разрешение на уровне модели. Как можно применить разрешение на уровне объекта, чтобы проверить, является ли request.user автором этого сообщения в блоге? Например, я пытался использовать авторитетные приложения django -, и в этом файле у меня есть класс BlogPermission. и я попытался определить метод в этом классе, например.
def blog_edit(self, ??, ??)
что я должен добавить в этот метод?
А затем назовите это как:
@method_decorator(permission_required('blog_permission.blog_edit(???)'))
Что я должен передать здесь?
Обновление :После прочтения кода декоратора метода _я обнаружил, что он может принимать только функцию без аргумента. Я думаю, именно поэтому требуемое разрешение _здесь не работает. Но как обстоят дела с этим?
Обновление решения:
В методе отправки я проверяю разрешение пользователя и затем возвращаю HttpResponseForbidden (), если пользователь не соответствует разрешению.