我是django的新手,我正在尝试创建一个简单而标准的登录设置。
我将使用django-registraion(不好意思,因为作者不知道如何清楚地记录他的努力......)
无论如何,我想知道如何设置一个简单的“编辑你的个人资料”页面。在我之前问过的一个类似的问题中,我被指示阅读django教程(没用)并且告诉auth组件提供了这个功能(但不是doco的用途) - 任何人都有任何明确的步骤来做这个吗? / p>
干杯。
答案 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,这是一个独立的应用程序