gpt4 book ai didi

django - Django权限,自己编写代码还是使用应用程序?

转载 作者:行者123 更新时间:2023-12-04 13:34:14 25 4
gpt4 key购买 nike

这个问题是(我认为)关于Django中的对象/行级别权限。

我们正在建立一个社区,需要能够根据用户执行的操作设置权限。例如,在发布如此之多的答案之前,您不应该能够启动主题。

同样,用户应该能够删除属于自己的内容。根据Django文档,似乎标准框架不支持实例的权限。

我们应该基于Django提供的“空” API还是应该使用诸如django-guardian,django-rules等应用程序用于此目的?在这种情况下,您会推荐哪些?

谢谢!

最佳答案

you should not be able to start a thread until you have posted so and so many answers.



您不需要为此使用每个对象的权限。实际上,您根本不需要使用权限。只需检查用户是否符合您 View 中的要求即可。

或者,您可以使用标准的django权限引擎。创建诸如“启动主题”之类的权限,然后设置信号以跟踪用户何时添加答案。发出信号时,请检查用户是否有足够的答案,并授予他“启动线程”权限。

由您决定哪个更适合您。

Also, the users should be able to remove content that belongs to themselves.



这可以通过每个对象的权限来完成。但是,如果这是使用它们的唯一原因,那么我只需将 author字段添加到您的模型中,然后使用简单的 item.author == request.user检查来测试用户是否可以删除该项目。

因此,我的一般建议是保持简单。分析您的需求。每个对象的权限是一个功能强大的工具,在您遇到的情况中可能会显得过大。

关于django - Django权限,自己编写代码还是使用应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com