栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

获取django中的用户个人资料

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号