【问题标题】:while posting data into database using forms in django data is not saving使用 django 数据中的表单将数据发布到数据库时不会保存
【发布时间】:2020-01-22 06:17:26
【问题描述】:

通过 django 表单将数据发布到数据库时,数据不会保存。

这是我的模型类:

   class data(models.Model):
       name = models.CharField(max_length=20)
       age = models.IntegerField(max_length=5)
       mobile = models.IntegerField(max_length=10)
       email = models.EmailField(max_length=20)
       password = models.CharField(max_length=20)

forms.py 文件:

  class datamodel(forms.ModelForm):
        class Meta:
            model = data
            fields = ('name', 'age', 'mobile', 'email', 'password')

view.py 文件:

   def template_2_data(request):
       form = datamodel()
       if request.method == 'POST':
           form = datamodel(request.POST)
           if form.is_valid():
              data = form.save(commit=False)
              data.name = form.cleaned_data.get('name')
              data.age = form.cleaned_data.get('age')
              data.mobile = form.cleaned_data.get('mobile')
              data.email = form.cleaned_data.get('email')
              data.password = form.cleaned_data.get('password')
              return HttpResponse('data saved...')
    else:
          form = form
          return render(request, 'template_2.html', {'form': form})

模板:

 <form action="/template_1/temp_1/" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit">
</form>

【问题讨论】:

  • 您没有保存data 实例,它不会自动保存,因为您有commit=False。在return HttpResponse() 之前添加data.save() 行。为什么要手动获取表单数据而不是让表单保存呢?
  • 我添加了 data.save() 但它不起作用。

标签: python django-models django-forms django-templates django-views


【解决方案1】:

这是我对上述问题的回答:

def template_2_data(request):

   if request.method == 'POST':
       form = datamodel(request.POST)
       if form.is_valid():
           form.save()
       return render(request, 'template_2.html', {'form':form})

【讨论】:

    猜你喜欢
    • 2019-01-22
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多