django 预填表格
Posted
技术标签:
【中文标题】django 预填表格【英文标题】:django pre filled form 【发布时间】:2021-08-19 01:47:30 【问题描述】:我希望在第一次渲染时预先填充表单数据,初始参数根本不影响表单。 当用户编辑个人资料时,我希望用户数据显示在表单中。
def profile_update(request):
if request.method == 'POST':
form = UpdateProfile(
initial='username': 'Hi there!', instance=request.user)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse('profile'))
else:
form = UpdateProfile()
return render(request, 'users/profile_update.html', 'form': form)
class UpdateProfile(forms.ModelForm):
email = forms.EmailField()
img = forms.ImageField(label='img', required=False)
class Meta:
model = TbUser
fields = ['username', 'img', 'email', 'cellphone', 'empno', 'real_name', 'nfc_id',
'sex', 'role', 'department']
【问题讨论】:
【参考方案1】:如果是 GET 请求,您需要将 initial
传递给表单:
from django.shortcuts import redirect
def profile_update(request):
if request.method == 'POST':
form = UpdateProfile(request.POST, request.FILES, instance=request.user)
if form.is_valid():
form.save()
return redirect('profile')
else:
form = UpdateProfile(initial='username': 'Hi there!')
return render(request, 'users/profile_update.html', 'form': form)
【讨论】:
以上是关于django 预填表格的主要内容,如果未能解决你的问题,请参考以下文章