Python 什么';这是处理以不同方式创建超级用户的最佳方法?
在我的Django 1.6.5项目中,我的用户注册表单创建了一个Python 什么';这是处理以不同方式创建超级用户的最佳方法?,python,django,Python,Django,在我的Django 1.6.5项目中,我的用户注册表单创建了一个UserProfile,它与创建的用户具有一对一的关系。我的观点认为,当用户登录时,他/她在数据库中有一个关联的UserProfile 但是,超级用户是通过manage.py文件创建的,并且没有关联的UserProfile,这会导致视图抛出错误。这不是一个大问题,因为我将是唯一一个超级用户登录的人,但这样离开网站似乎仍然是个坏主意 如果没有UserProfile,应用程序实际上无法执行任何操作,那么我是否应该在特殊情况下编写代码,在
UserProfile
,它与创建的用户具有一对一的关系。我的观点认为,当用户登录时,他/她在数据库中有一个关联的UserProfile
但是,超级用户是通过manage.py
文件创建的,并且没有关联的UserProfile
,这会导致视图抛出错误。这不是一个大问题,因为我将是唯一一个超级用户登录的人,但这样离开网站似乎仍然是个坏主意
如果没有UserProfile
,应用程序实际上无法执行任何操作,那么我是否应该在特殊情况下编写代码,在这种情况下,视图会抛出一个明确的错误,警告用户他/她已作为超级用户登录,无法使用网站?我还可以为超级用户手动创建一个UserProfile
,但这似乎很愚蠢
或者有没有办法在数据库级别强制每个用户
都有一个UserProfile
?如果是这样,我将如何与用户配置文件同时创建超级用户,因为它是从命令行创建的?将它们分开:
- 如果您想查看用户的外观,请像其他人一样使用用户帐户李>
- 如果你想搞乱管理员,请使用你的超级用户帐户李>
- 如果应用程序足够大,我会在管理员中添加“loginas”功能,这样我就可以成为用户(出于支持目的,所以我不必询问他们的密码)李>
- 对于测试环境,我知道我会运行一个脚本,将所有用户的密码更改为相同的内容(因此我可以自由测试许多帐户/场景)
虽然从默认的django用户继承/扩展/封装用户可能更为传统。我们走吧 您可以尝试从post\u save()
signal ofUser
model创建配置文件。是否有办法使超级用户帐户仅适用于管理员站点?我的问题是,如果你从管理站点登录并访问主站点,它将被视为有效用户,这是我不想要的。是的,这很痛苦。为什么不将配置文件附加到超级用户?或者将用户升级为超级用户并删除默认超级用户?