0

我对 django 很陌生,正在尝试创建一个简单而标准的登录设置。

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

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

干杯。

4

1 回答 1

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() 

然后,如果您愿意,您将需要实现一个用户配置文件表单(让您的生活更轻松),就像这样:

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 这是一个独立的应用程序

于 2012-04-27T16:55:29.340 回答