我需要以编程方式从第3方平台(PHP)将新用户添加到Django设置中,看来我只需要在auth_user
表中写入一个条目即可实现此目的。
我正确吗?我还需要做其他事情吗?
谢谢!
这将起作用,假设您不介意重新实现Django为您所做的事情;特别是对密码进行哈希处理,但也可能按照Ignacio的建议创建UserProfile
对象。您还需要根据项目中的post_save
或pre_save
信号(如果有)来设计出另一种代码解决方案。
您还没有解释为什么,您想用这种方式做事:是什么指示除了对SQL数据库的共享访问权之外,您无法进行任何进程间通信?
如果您可以做不同的事情,使用the included UserCreationForm
或UserCreationForm
设置仅本地主机的API端点来创建用户可能更有意义。
[从技术上讲是,但是可能还有其他要求,例如创建the create_user()
helper method,这些要求由业务逻辑而非数据库控制。也许您应该考虑在单独的表/数据库中创建用户并编写自定义身份验证后端,该后端将从此共享位置导入用户。
[如果可能,我会考虑您的方法。在我看来,您会冒充数据完整性问题的风险,并且在绕过django的表的同时又绕过了其久经考验的业务逻辑,因此很难发现错误。我会通过在django中编写一个简单的API来解决这个问题,您可以向您展示php脚本,该脚本将允许django代表php添加用户。无论如何,从编码时间和复杂性的角度来看,这实际上可能是一种更简单的方法。
它在PHP中为我工作。
create_user()