저는 사용자 프로필을 확장하기 위해 modelform을 사용하고 있습니다. 이전에 저장 한 데이터를 사용자가 쓰기 전에 양식에 표시하고 싶습니다. 어떻게 내가 장고와 함께 템플릿에서 이렇게합니까?django를 사용하여 템플릿에 표시 할 기본값을 얻으려면 어떻게해야합니까?
모델
class UserProfile(models.Model):
user = models.ForeignKey(User, primary_key=True)
quote = models.CharField('About', max_length = 200, null=True, blank=True)
website = models.URLField('Personal website/blog', null=True, blank=True)
class UserProfileForm(ModelForm):
class Meta:
model = UserProfile
fields = ('quote', 'website')
widgets = {
'quote': Textarea(attrs={'cols': 18, 'rows': 7, 'style': "width: 300px;"}),
}
보기
@login_required
def user_profile(request):
user = User.objects.get(pk=request.user.id)
if request.method == 'POST':
upform = UserProfileForm(request.POST)
if upform.is_valid():
up = upform.save(commit=False)
up.user = request.user
up.save()
return HttpResponseRedirect('/accounts/profile')
else:
upform = UserProfileForm()
return render_to_response('reserve/templates/edit_profile.html', locals(), context_instance=RequestContext(request))
템플릿
{{ upform.as_p}}
"upform = UserProfileForm (request.POST, instance = user.get_profile())"으로 변경했습니다. 템플릿의 내용을 변경해야합니까? – sharataka
템플릿을 변경해야하는지 알 수 있도록 템플릿을 표시해야합니다. – armonge
@armonge 양식과 관련된 템플릿에있는 모든 것은 위에 나열된 것입니다. 기본 데이터 (이미 사용자가 입력 한 데이터)를 포함하도록 편집하는 방법을 모르겠습니다. – sharataka