1

当我转到 userena 提供的注册表单时,我可以成功注册一个新用户。我可以通过访问我的站点/管理页面并查看列出的新配置文件来验证这一点。

问题是当我尝试登录新用户时,我看到一个页面显示“此帐户已被禁用”。

我尝试过的事情:

  1. 删除了我的数据库
  2. python manage.py syncdb
  3. python manage.py 迁移
  4. python manage.py check_permissions

然而这个过程产生了同样的问题。

另一个可能相关的问题是我的超级用户(在我第一次运行 syncdb 时创建)有一个我可以登录的功能配置文件。但是当我去编辑配置文件时,没有一个编辑过的字段被保存。

有什么想法吗?我可以提供的任何其他信息可能会有所帮助吗?

更新:

浏览我的数据库,我在 auth_user 表中找到了一个名为 is_active 的字段。显然,这就是 userena(或 django;不确定哪个填充了哪些表)确定用户是否可用的方式。创建用户时,默认值为零(禁用)。通过将新创建的用户的值更改为 1,现在可以登录(不再禁用)。我现在的任务是确定如何在注册时将此值的默认值更改为 1。当我找到它时,我会发布更新,或者请指出我正确的方向。(附带说明,这对编辑个人资料的问题没有帮助。)

更新:

我找到了允许新用户登录的解决方案,但我仍然无法获取要保存的个人资料信息。我为这个问题创建了一个问题。

4

1 回答 1

0

我跟踪了注册期间使用的方法,发现我在 forms.py 和 manager.py 中引用了错误的 settings.py 文件。这使 userena 无法看到我对USERENA_ACTIVATION_REQUIRED. 我更新了导入语句,这解决了我的问题。新创建的用户现在在注册后立即处于活动状态并且可以登录。

概括:

  1. 在 settings.py 中设置USERENA_ACTIVATION_REQUIREDFalse
  2. 确保在forms.py和managers.py中导入了正确的settings.py文件

将 settings.py 从:

from userena import settings as userena_settings

到:

from apps.userena import settings as userena_settings

请注意,这是我的情况,因为我选择手动安装 userenaPYTHON_PATH而不是使用pip.

于 2013-08-07T04:36:05.520 回答