【发布时间】:2015-10-03 01:40:15
【问题描述】:
我正在使用 Django 的用户模型。
如何让 Django ModelForm 在模板中预填充值?我知道我必须使用该表单的实例,但我在下面哪里出错了:
models.py:
class Site(models.Model):
user = models.ForeignKey(User, )
site_name = models.CharField(max_length=128, blank=False, null=False)
forms.py:
class SiteForm(forms.ModelForm):
class Meta:
model = Site
fields = '__all__'
views.py:
def settings(request):
site_profile = Site.objects.get(user=request.user)
if request.method == "POST":
form = SiteForm( instance=site_profile )
if form.is_valid():
form.save()
return redirect('dashboard_home')
else:
form = SiteForm()
return render(request, "dashboard/settings.html", {'form': form })
此代码返回没有错误的页面,但不会使用数据库中的值预先填充表单字段。
我只能假设instance 没有正确加载?
【问题讨论】:
标签: python django django-models django-forms django-views