django - 为多步表单保存数据时出现 Django MultiValueKeyDictError
问题描述
class multi_form(View):
model=Customer
template_name='index.html'
def get(self, request):
return render(request, 'customer/index.html')
def post(self,request):
if(request.method!="POST"):
return HttpResponseRedirect(reverse(''))
else:
first_name=request.POST.get("fname")
last_name=request.POST.get("lname")
personal_email=request.POST.get("Pid")
official_email=request.POST.get("Oid")
current_address=request.POST.get("Cadd")
permanent_address=request.POST.get("Padd")
pan_card_number=request.POST.get("Pan")
aadhar_card_number=request.POST.get("Aadhar")
loan_amount=request.POST.get("LAmount")
request.session['fname']=first_name
request.session['lname']=last_name
request.session['Pid']=personal_email
request.session['Oid']=official_email
request.session['Cadd']=current_address
request.session['Padd']=permanent_address
request.session['Pan']=pan_card_number
request.session['Aadhar']=aadhar_card_number
request.session['Lamount']=loan_amount
personal_photo=request.FILES['PhotoAttachment']
bank_statement=request.FILES['BankAttachment']
salary_slip=request.FILES['SalaryAttachment']
pan_card=request.FILES['PanAttachment']
aadhar_card=request.FILES['AadharAttachment']
try:
CustomerForm1=CustomerInfo(first_name=first_name, last_name=last_name, personal_email= personal_email, official_email=official_email, current_address=current_address, permanent_address=permanent_address, pan_card_number=pan_card_number, aadhar_card_number=aadhar_card_number, loan_amount=loan_amount)
CustomerForm2=Customer(first_name=first_name, last_name=last_name, personal_email= personal_email, official_email=official_email, current_address=current_address, permanent_address=permanent_address, pan_card_number=pan_card_number, aadhar_card_number=aadhar_card_number, loan_amount=loan_amount, personal_photo=personal_photo, bank_statement=bank_statement, salary_slip=salary_slip, pan_card=pan_card, aadhar_card=aadhar_card)
CustomerForm1.save()
CustomerForm2.save()
messages.success(request, "Your Response has been recorded")
return render(request, 'customer/index.html')
except:
return render(request, 'customer/index.html')
所以,我试图保存多步骤表单的字段。仅在第一步后提交并完全跳过第二步后,我会显示此错误。
MultiValueDictKeyError at /
('PhotoAttachment', None)
如何解决此问题并保存此表单的第一个数据,即。客户表格 1。我想将数据保存在两个表单的表单字段中,尽管它们包含重复的字段
注意:如果我在第一步中删除了提交按钮并从 views.py 中删除了 CustomerForm1,那么我不会收到此错误,这意味着表单可以正常工作。
解决方案
推荐阅读
- javascript - 如果日期在javascript中低于一个月的20,如何设置月份的特定日期?
- scala - 在 Scala 中调用其他对象的主要方法
- dart - 无法修复:没有为“Firebase auth”类定义 signInWithGoogle
- node.js - 将标题元素添加到 paperjs SVG(使用 node.js)
- python - 从应用引擎访问谷歌云存储帐户对象
- ios - 应用程序通过 MDM 分发时的 Key Chain 数据丢失
- javascript - 如何将 angular2+ 应用程序作为简单的 JS 文件集成到现有的 HTML 站点中
- graph - 确定是否在正在运行的计划任务中的方法?
- python - 获取 AttributeError:“NoneType”对象没有属性“键盘”,
- d3.js - 如何获取 D3 Axis 的路径字符串