在Django中创建用户配置文件页面

时间:2012-01-28 15:46:21

标签: django django-models

我是Django的初学者。我需要设置一个网站,每个用户都有一个个人资料页面。我见过django admin。用户的个人资料页面应存储一些只能由用户编辑的信息。谁能指出我怎么可能?任何教程链接都会非常有用。此外,是否有任何django模块,可用于设置用户页面。

2 个答案:

答案 0 :(得分:8)

您只需要创建一个可供经过身份验证的用户使用的视图,如果他们正在创建GET请求,则会返回个人资料编辑表单,或者如果用户的个人资料数据创建了{{1>请求。

大部分工作已经为您完成,因为generic views用于编辑模型,例如UpdateView。扩展它需要的是检查经过身份验证的用户并为其提供要为其提供编辑的对象。这是MTV三元组中的视图组件,它提供了编辑用户个人资料的行为 - POST模型将定义user profile,模板将离散地提供演示文稿。

所以这里有一些行为可以作为一个简单的解决方案:

Profile

答案 1 :(得分:1)

你可以

  • 创建另一个用于存储有关用户的个人资料信息的模型
  • AUTH_PROFILE_MODULE='yourprofileapp.ProfileModel'添加到settings.py
  • 在配置文件编辑视图中,仅允许登录用户编辑自己的配置文件

    示例:

    @login_required
    def edit_profile(request):
        '''
        edit profile of logged in user i.e request.user
        '''
    
  • 您还可以确保每当创建新用户时,也会使用django的信号创建用户的个人资料

从django文档中了解storing additional information about users