3

我已经安装django-userena来管理用户配置文件并且一切正常,除了新注册用户无法编辑/更新他们的配置文件并且只面对空白屏幕。

如果我让用户成为超级用户,那么它可以更改/更新配置文件。

发现那个profile_edit视图django-userena装饰有@permission_required_or_403('change_profile', (get_profile_model(), 'user__username', 'username'))

显然需要添加post_save信号以添加必要的权限,但我想知道是否有任何设置,比如USERENA_ALLOW_UPDATE_PROFILE有人可以帮助我吗?

4

2 回答 2

2

最后挖掘django-userenadjango-guardian来源我展示了我的这个小研究的输出,所以如果你希望用户能够编辑他们的个人资料,你可以使用下面的代码

用户发布保存信号,向新用户对象添加“change_profile”权限

@receiver(post_save, sender=User, dispatch_uid='user.created')
def user_created(sender, instance, created, raw, using, **kwargs):
  """ Adds 'change_profile' permission to created user objects """
  if created:
    from guardian.shortcuts import assign
    assign('change_profile', instance, instance.get_profile())
于 2012-08-27T14:13:59.903 回答
1

对于现有用户,只需发出此命令,页面即可运行:

python manage.py check_permissions
于 2019-06-10T03:08:50.400 回答