表格不保存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表格不保存相关的知识,希望对你有一定的参考价值。

如何在不验证的情况下保存django表单。我有一个简单的表格。就像我有一个下拉选项,如果用户选择一个图形,它会带来与模型支付不同的字段,如果用户选择银行出纳员,它会带来与模型支付不同的字段。所以我想保存它们。但是当我使用form.is_valid()时它没有保存,它仍然显示我的代码200但它不在我的数据库中,当我删除form.is_valid()时,它抛出valueError:验证错误。现在图像域不保存

class payments(models.Model):
    Amount=models.IntegerField(default=00000)
    figiID=models.CharField(default='F-00000',max_length=10,required=False)
    Bank_Teller=models.ImageField(upload_to='media/',required=False)

html

  <select id='modePayment'>
            <option value='test1'>Figi</option>
            <option value='test2'>Bank Teller</option>
            </select><br><br>
            <div class="test1 pricebox">
            <form method="post">
            {% csrf_token %}
              <h6>Amount:{{pDetail.Amount}}</h6>
              <h6>Figi-ID{{pDetail.figiID}}</h6>
              <button style="background:#4CAF50;color:white;width:150px;height:40px;" value="submit" >Invest</button>
            </form>
            </div>
            <div class="test2 pricebox">
            <form method="post" enctype="multipart/form-data">
            {% csrf_token %}
              <h6>Amount:{{pDetail.Amount}}</h6>
              <h6>Bank Teller{{pDetail.Bank_Teller}}</h6>
              <button style="background:#4CAF50;color:white;width:150px;height:40px;" value="submit" >Invest</button>
            </form>
            </div>

views.朋友

def dashboard(request):
     if request.user.is_authenticated:
          allDocs = Registration.objects.all()
          pDetail=payment_form()
          if request.method=='POST':
                pDetail=payment_form(request.POST,request.FILES)
                if pDetail.is_valid():
                     pDetail.save()
        context={'doc':allDocs,'pDetail':pDetail,'iDetail':investment}
         return render(request,'dashboard.html',context)
  else:
       return redirect('Tan:login')
答案

你忘了保存表单变量pDetail

Views.py

def dashboard(request):
     if request.user.is_authenticated:
          allDocs = Registration.objects.all()
          pDetail=payment_form()
          if request.method=='POST':
                pDetail=payment_form(request.POST,request.FILES)
                if pDetail.is_valid():
                pDetail=pDetail.save()
                pDetail.save()                #<----- Add this
         context={'doc':allDocs,'pDetail':pDetail,'iDetail':investment}
         return render(request,'dashboard.html',context)
  else:
       return redirect('Tan:login')

以上是关于表格不保存的主要内容,如果未能解决你的问题,请参考以下文章

sublimetext3中保存代码片段

如何在不使用意图的片段中拍摄和保存图片?

轻松保存重复多用的代码片段

不立即分离片段

检索数据未出现在 ListView 的片段中

Android 片段不保存状态,在旋转/屏幕锁定/返回时崩溃