我已经安装django-userena
来管理用户个人资料,除了新注册的用户无法编辑/更新他们的个人资料并只面对空白屏幕外,一切正常。
如果我让用户成为超级用户,则可以更改/更新个人资料。
在profile_edit
装饰django-userena
@permission_required_or_403('change_profile', (get_profile_model(), 'user__username', 'username'))
视图
显然需要添加post_save
信号以添加必要的权限,然而我想知道是否有任何设置如USERENA_ALLOW_UPDATE_PROFILE
可以帮助我吗?
答案 0 :(得分:2)
最后挖掘django-userena
和django-guardian
来源我提供了这个小研究的输出,所以如果您希望用户能够编辑他们的个人资料,您可以使用以下代码
@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())
答案 1 :(得分:1)
对于现有用户,只需发出此命令,页面便会运行:
python manage.py check_permissions