我想知道,当用户模型被扩展/子类化,并且由此产生的用户模型在多个应用程序之间共享和使用时,常见的项目/应用程序结构是什么。在
我想在多个应用程序中引用相同的用户模型。 我还没有建立登录界面,所以我不确定它应该如何组合在一起。在
想到以下几点:
project.loginapp.app1
project.loginapp.app2
这种情况有共同的模式吗? 登录最好用“登录应用程序”处理吗?在
类似于这个问题,但更具体。 django application configuration
更新
澄清了我上面的用例。 我想添加字段(扩展还是子类?)到现有的身份验证用户模型。然后在多个应用程序中引用该模型。在
你应该先检查出资人授权模块满足您的需求,因此您不必重新设计轮子:
http://docs.djangoproject.com/en/dev/topics/auth/#topics-auth
编辑:
检查这个在创建新用户后创建UserProfile的代码段。在
我认为“项目/应用程序”的名称选择不当。它更像是“站点/模块”。例如,没有视图的应用程序可能非常有用。在
查看YouTube上的2008 DjangoCon talks,尤其是关于reusable apps的内容,它会让你对如何构建你的项目有完全不同的想法。在
为什么要扩展用户?请澄清。在
如果要添加有关用户的更多信息,则不需要创建自己的用户和身份验证系统。Django对此的看法相当可靠。用户管理位于django.contrib.auth公司. 在
如果需要自定义与用户一起存储的信息,请首先定义一个模型,例如
然后设定
^{pr2}$在你的设置.py在
设置此选项的优点是,您可以在视图中使用如下代码:
如果您试图为用户提供更多的身份验证方法,可以添加身份验证后端。扩展或重新实施django.contrib.auth公司.后端.ModelBackend并设置为 您的身份验证\u返回设置.py. 在
如果您想使用不同于django提供的权限或组概念,那么没有什么可以阻止您。Django只在django.contrib.admin(据我所知),你可以在你认为合适的情况下,为这些主题使用一些其他概念。在
相关问题 更多 >
编程相关推荐