我正在学习Django框架,我正在尝试为对象实现一些社交功能/权限。什么是这种事情的最佳解决方案,例如:
我们有一些模型(例如:照片):
name_field
picture_field
owner_field
allowed_group_users_field
allowed_group_users_field
现在查看将处理显示图片的视图应使用:“@ 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/。因此,您所要做的就是使用您自己的逻辑扩展当前装饰器(如果用户属于特定组)并且它将起作用。我希望我回答你的问题!