使用存储的数据启动模板表单



我使用以下模板收集用户信息:

<div class="row text-center vertical-middle-sm">
<h1>Profile</h1>
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-4 text-right"><span>Username:</span></div>
<div class="col-md-8 text-left"><span>{{ user.username }}</span></div>
</div>
<div class="row">
<div class="col-md-4 text-right"><span>Gender:</span></div>
<div class="col-md-8 text-left"><span>{{ user_profile.get_gender_display }}</span></div>
</div>

在视图中,有很多硬类型来启动数据:

else:
user_form = UserForm(instance=request.user)
user_profile_form = UserProfileForm(
initial={'birthday':user_profile.birthday,
'telephone':user_profile.telephone,
'school':user_profile.school,
'company':user_profile.company,
'profession':user_profile.profession,
'country':user_profile.country,
'about_me':user_profile.about_me,
})
context = {"user_form":user_form,
"user_profile_form":user_profile_form,}
return render(request, "account/edit_profile.html", context)

如何重构更短initial={}

您应该使用initial参数,就像对 UserForm 所做的那样。

user_profile_form = UserProfileForm(instance=request.user.profile)

最新更新