ゼロからやりたい方。UserProfile モデルがあると仮定すると、これを行う 1 つの方法は、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 をいつでも使用できます