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