myproject
|- myapp
我创建了一个django项目,该项目中包含一个可以查看,将数据添加到数据库等的应用程序。现在,我想创建多个可以使用此应用程序处理自己数据的用户。最好的方法是什么。
让我们说有3个用户user1,user2,user3。用户1为公司1工作,用户2为公司2工作,用户3为公司3工作。因此,每个用户都有自己的数据。
目前,我正打算这样做。 我复制myapp代码并创建与每个用户相对应的3个应用。所以项目目录看起来像这样
myproject
|- myapp
|- myappuser1
|- myappuser2
|- myappuser3
因此,我现在有3个功能相似的应用程序,每个用户都有自己的数据。现在,障碍是如何限制访问权限,以便每个用户都能看到自己的应用程序。例如,user1应该只能看到myappuser1内容,而user2应该只能看到myappuser2内容。我怎样才能做到这一点 ?我尝试在django admin中创建组,但这仅授予我编辑myapp下对模型的访问权限。并没有限制用户查看其他用户的页面。
选项2: 为每个用户创建单独的django项目。这解决了用户限制,但是要在heroku中进行部署,我应该将每个人都注册为应用程序,然后必须创建一个唯一的登录页面,每个客户都可以通过该页面登录,否则我必须为每个用户提供不同的登录网址。>
请问是否有更好的方法?
答案 0 :(得分:0)
如果您确实正在寻找多租户架构,我建议您看一下库django-tenant-schemas。
我相信您在使用术语 users 时比较宽松,意味着他们是属于客户的用户。例如,您有一个具有三个客户端的应用程序
因此,当用户C3登录时,他/她应该只能查看客户端C的数据,而不能查看客户端A / B的数据。
如果这确实是您的要求,您可以看看我之前建议的库。