我需要以编程方式将一个新用户从第三方平台添加到Django设置中,似乎只需要在auth_user表中编写一个条目就可以实现这一点。
我说的对吗?我还需要做些别的事情吗?
谢谢!
发布于 2012-07-26 03:10:11
假设您不介意重新实现Django为您做的事情,这将会起作用;特别是散列密码,但也可能像Ignacio建议的那样创建一个UserProfile对象。您还需要为项目中依赖于post_save或pre_save信号的代码设计出另一个解决方案(如果有)。
您还没有解释为什么要这样做:除了对SQL数据库的共享访问之外,是什么决定了您不能进行任何进程间通信?
如果您可以采用不同的方法,那么使用the included UserCreationForm或the create_user() helper method设置一个仅限本地主机的API端点来创建用户可能更有意义。
发布于 2012-07-26 02:49:04
从技术上讲是这样的,但可能还有其他需求,比如创建由业务逻辑而不是数据库管理的UserProfile。也许您应该考虑在一个单独的表/数据库中创建用户,并编写一个自定义身份验证后端,从这个共享位置导入用户。
发布于 2012-07-26 06:09:23
如果可能的话,我会重新考虑你的方法。在我看来,你冒着数据完整性问题的风险,很难找到错误,因为你在绕过django经过验证的业务逻辑的同时搞乱了django的表。我可以通过用django编写一个简单的API来实现这一点,您可以将该API公开给您的php脚本,允许django代表php添加用户。就编码时间和复杂性而言,这实际上可能是一种更简单的方法。
https://stackoverflow.com/questions/11656381
复制相似问题