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 に答える