我正在学习 Django 框架,并且正在尝试为对象实现一些社交功能/权限。这种事情的最佳解决方案是什么,例如:
我们有一些模型(例如:照片):
name_field
picture_field
owner_field
allowed_group_users_field
allowed_group_users_field
<----- 我们将放置能够看到照片的组/用户的字段。
现在将处理显示图片的 View 应使用:“@user_passes_test”装饰器,它将检查请求用户是否包含在 allowed_group_users_field
中。
我的问题是:
这是解决此类问题的正确方法还是有更好的解决方案 - 也许其他装饰器更合适或其他实现方式..?
最佳答案
您好,欢迎加入! 我在 stackoverflow 中也有一个相对较新的帐户,但我对 django 有相当多的经验。 在我看来,您想为允许看到它的用户创建一对多的外键组。 您使用装饰器的解决方案很常见,这里有很好的文档,https://docs.djangoproject.com/en/1.4/topics/auth/#limiting-access-to-logged-in-users-that-pass-a-test以及您需要的组类型的示例,此处 https://djangosnippets.org/snippets/1703/ . 所以,你所要做的就是用你自己的逻辑(如果用户属于特定组)扩展当前装饰器,它就会工作。 我希望我能回答你的问题!
关于python - Django - 对象的社交类权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20400488/