获取django中的用户个人资料

获取django中的用户个人资料,第1张

获取django中的用户个人资料

Django的文档说明了一切,尤其是存储有关用户的其他信息的部分。首先,您需要在

models.py
字段中的某个位置定义一个模型,以获取用户的其他信息:

models.py

from django.contrib.auth.models import Userclass UserProfile(models.Model):    # This field is required.    user = models.oneToOneField(User)    # Other fields here    accepted_eula = models.BooleanField()    favorite_animal = models.CharField(max_length=20, default="Dragons.")

然后,你需要表明,该模型(

UserProfile
)是通过设置用户配置文件
AUTH_PROFILE_MODULE
的内部
settings.py

settings.py

...AUTH_PROFILE_MODULE = 'accounts.UserProfile'...

您需要

accounts
用您的应用名称替换。最后,您希望在每次
User
通过注册
post_save
处理程序创建实例时创建一个配置文件,这样,每次创建用户时,Django也会创建一个配置文件:

models.py

from django.contrib.auth.models import Userclass UserProfile(models.Model):    # This field is required.    user = models.oneToOneField(User)    # Other fields here    accepted_eula = models.BooleanField()    favorite_animal = models.CharField(max_length=20, default="Dragons.")def create_user_profile(sender, instance, created, **kwargs):    if created:        UserProfile.objects.create(user=instance)post_save.connect(create_user_profile, sender=User)
访问个人资料

要在您的视图中访问当前用户的个人资料,只需使用

User
请求提供的实例,然后在其上调用get_profile:

def your_view(request):    profile = request.user.get_profile()    ...    # Your pre


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5653833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存