使用django编辑身份验证页面

时间:2012-04-27 16:27:51

标签: django

我是django的新手,我正在尝试创建一个简单而标准的登录设置。

我将使用django-registraion(不好意思,因为作者不知道如何清楚地记录他的努力......)

无论如何,我想知道如何设置一个简单的“编辑你的个人资料”页面。在我之前问过的一个类似的问题中,我被指示阅读django教程(没用)并且告诉auth组件提供了这个功能(但不是doco的用途) - 任何人都有任何明确的步骤来做这个吗? / p>

干杯。

1 个答案:

答案 0 :(得分:1)

如果您想从头开始。假设你有一个UserProfile模型,一种方法是使用django表单。例如,如果你有

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)

    name = models.CharField(max_length=60 , blank=True, null=True )
    gender = models.SmallIntegerField(choices=SEX_CHOICES, blank=True, null=True)

    bio  = models.TextField() 

如果你愿意,你需要实现一个userprofile表单(让你的生活更轻松)就像这样:

class UserProfileForm(forms.ModelForm):

    class Meta:
        model = UserProfile
        exclude = ('user') #you dont want anybody seeing this :)

ModelForm,因为如果用户有能力更改它将反映在数据库中的任何细节。

接下来,您将编写一个用于更新配置文件的视图功能:这是为了让您入门

def edit_profile(request):
    view_kwargs = {
        'model': UserProfile, 
        'form_class': UserProfileForm,
        'success_url': "/path/to/success",
        ),
        'template_name': "/path/to/edit_profile.html",
    }

    user_profile, created = UserProfile.objects.get_or_create(user_id=request.user)


     #TODO

如果所有其他方法都失败了,您可以随时使用django-profiles,这是一个独立的应用程序