小编Xin*_*han的帖子

Django如何在用户删除后删除用户的个人资料和帖子以及所有关联?

我正在写一个django项目.并且想知道用户删除自己的帐户后,有没有办法django内置自动删除与该用户相关的所有对象(例如一些通用的foreign_key)?或者我应该使用信号"post_delete"来删除每个相关的对象?

django django-models django-users

9
推荐指数
3
解决办法
1万
查看次数

将对象级别权限添加到通用视图

情况非常简单:我正在编写一个多用户博客系统.系统应阻止非所有者编辑或删除博客帖子.在我看来,我使用通用视图.

class BlogUpdateView(UpdateView):...

我知道我应该使用@method_decorator来装饰调度方法.但是,大多数示例只是@method_decorator(login_required)或模型级别权限.如何应用对象级权限来检查request.user是否是此博客文章的作者?例如,我尝试使用django-authority应用程序,我在此文件中有一个BlogPermission类.我尝试在这个类中定义一个方法,例如

def blog_edit(self, ??, ??)

我应该把这个方法放进去?

然后称之为: @method_decorator(permission_required('blog_permission.blog_edit(???)'))

我应该在这里传递什么?

更新:在读取method_decorator代码后,我发现它只能接受没有参数的函数.我认为这就是为什么permission_required在这里不起作用的原因.但是关于这个的工作是什么?

更新方案:

在调度方法中,我检查用户权限,然后如果用户不符合权限则返回HttpResponseForbidden().

django django-views django-permissions

8
推荐指数
1
解决办法
3603
查看次数