python-Django:禁止userena编辑配置文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-Django:禁止userena编辑配置文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含931字,纯文字阅读大概需要2分钟。
内容图文
![python-Django:禁止userena编辑配置文件](/upload/InfoBanner/zyjiaocheng/657/a85a913379034941b935f8bd5f6876c2.jpg)
我已经安装了django-userena来管理用户配置文件,并且一切正常,除了新注册的用户无法编辑/更新其配置文件并且仅面对空白屏幕.
如果我使用户成为超级用户,则可以更改/更新配置文件.
在django-userena中找到以@ permission_required_or_403(‘change_profile’,(get_profile_model(),’user__username’,’username’))装饰的profile_edit视图
显然需要添加post_save信号以添加必要的权限,但是我想知道是否有诸如USERENA_ALLOW_UPDATE_PROFILE之类的设置可以帮助我吗?
解决方法:
最终深入研究django-userena和django-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())
内容总结
以上是互联网集市为您收集整理的python-Django:禁止userena编辑配置文件全部内容,希望文章能够帮你解决python-Django:禁止userena编辑配置文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。