处理超级用户创建方式的最佳方法是什么?

时间:2014-06-24 04:40:07

标签: python django

在我的Django 1.6.5项目中,我的用户注册表单创建了一个与创建的UserProfile具有一对一关系的User。我的观点假设当用户登录时,他/她在数据库中有一个关联的UserProfile

但是,超级用户是通过manage.py文件创建的,并且没有关联的UserProfile,这会导致视图出错。这不是一个大问题,因为我将是唯一一个拥有超级用户登录的人,但是离开这样的网站仍然是一个坏主意。

如果没有UserProfile,应用程序无法真正做到,所以我应该在特殊情况下进行编码,其中视图会抛出显式错误,警告用户他/她已登录为超级用户,不能使用该网站?我也可以为超级用户手动制作UserProfile,但这看起来很傻。

或者有没有办法在数据库级别为每个UserProfile强制存在User?如果是这样,我将如何与UserProfile同时创建超级用户,因为它是从命令行创建的?

1 个答案:

答案 0 :(得分:1)

将它们分开:

  • 如果您希望看到用户使用其他人的用户帐户时的样子。
  • 如果您想弄乱管理员,请使用您的超级用户帐户。
  • 如果应用程序足够大,我就会知道向管理员添加'loginas'功能,这样我就可以成为用户(出于支持目的,所以我不必问他们的密码)。
  • 用于测试环境我已经知道运行一个脚本会将所有用户的密码更改为同一个东西(因此我可以自由地测试大量帐户/方案)。

虽然使用/默认django用户继承/扩展/封装用户可能更为常规。我们走了...... docs for extending the user model