首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django模型表单未保存到数据库(无错误消息)

Django模型表单未保存到数据库(无错误消息)
EN

Stack Overflow用户
提问于 2021-09-13 08:35:48
回答 1查看 1.7K关注 0票数 0

按照上面的(标题),my表单没有保存,但是,它确实重定向到正确的页面,条目没有显示在管理页面上。

请参阅以下代码:

Views.py:

代码语言:javascript
复制
def newSetting(request):
    form = SettingsForm()

    if request.method == 'POST':
        form = SettingsForm(request.POST)
        if form.is_valid():
            form.save()

    return render(request , 'main/newSetting.html' , {'form':form})

.HTML:

代码语言:javascript
复制
{% extends "main/base.html"%}
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-wEmeIV1mKuiNpC+IOBjI7aAzPcEZeedi5yW5f2yOq55WWLwNGmvvx4Um1vskeMj0" crossorigin="anonymous">

<style >
  .row_container{
    line-height: 500%;
  }
</style>
{% block content %}
<form class="" action="{% url 'settingsHome' %}" method="post">
  {% csrf_token %}
  {{ form.Complex }}
  <br>
  <br>
  <div class="row_container" name='TRB-YTD'>
    <div class="row mb-.1">
      <div class="col" style="left-align">
          {{ form.Trial_balance_Year_to_date }}
      </div>
      <div class="col-11">
        <p> Trial balance YTD</p>
      </div>
    </div>
  </div>
  <div class="row_container" name="TRB-MONTH">
    <div class="row ">
      <div class="col" style="left-align">
          {{ form.Trial_balance_Monthly }}
      </div>
      <div class="col-11">
        <p> Trial balance Monthly</p>
      </div>
    </div>
  </div>
  <div class="row_container" name="IS-YTD">
    <div class="row ">
      <div class="col" style="left-align">
          {{ form.Income_Statement_Year_to_date }}
      </div>
      <div class="col-11">
        <p> Income Statement YTD</p>
      </div>
    </div>
  </div>
  <div class="row_container" name="IS-MONTHLY">
    <div class="row ">
      <div class="col" style="left-align">
          {{ form.Income_Statement_Monthly }}
      </div>
      <div class="col-11">
        <p> Income Statement Monthly</p>
      </div>
    </div>
  </div>
  <div class="row_container" name="AGE-ANALYSIS">
    <div class="row ">
      <div class="col" style="left-align">
          {{ form.Age_Analysis }}
      </div>
      <div class="col-11">
        <p> Age Analysis</p>
      </div>
    </div>
  </div>
  <div class="row_container" name="BAL-SHEET">
    <div class="row ">
      <div class="col" style="left-align">
          {{ form.Balance_Sheet }}
      </div>
      <div class="col-11">
        <p> Balance Sheet</p>
      </div>
    </div>
  </div>
  <div class="row_container" name="REP-MAIN-GL">
    <div class="row ">
      <div class="col" style="left-align">
          {{ form.Repair_and_Maintenance_General_Ledger }}
      </div>
      <div class="col-11">
        <p> Repair & Maintenance GL</p>
      </div>
    </div>
  </div>
  <div class="row_container" name="MAJOR-CAPTAL-GL">
    <div class="row ">
      <div class="col" style="left-align">
          {{ form.Mayor_capital_Items_General_Ledger }}
      </div>
      <div class="col-11">
        <p> Major Capital Items GL</p>
      </div>
    </div>
  </div>

<button type="submit" class="btn btn-primary" name="btn-NewSetting"> Save New Setting</button>

</form>
{% endblock %}

Forms.py:

代码语言:javascript
复制
from django.forms import ModelForm
from .models import SettingsClass

class SettingsForm(ModelForm):
     class Meta:
         model = SettingsClass
         fields = '__all__'

Models.py:

代码语言:javascript
复制
class SettingsClass(models.Model):
    Complex = models.CharField(choices=complex_list , max_length = 2 ,default='1')
    Trial_balance_Year_to_date= models.BooleanField(default = False)
    Trial_balance_Monthly=models.BooleanField(default = False)
    Income_Statement_Year_to_date=models.BooleanField(default = False)
    Income_Statement_Monthly=models.BooleanField(default = False)
    Age_Analysis=models.BooleanField(default = False)
    Balance_Sheet=models.BooleanField(default = False)
    Repair_and_Maintenance_General_Ledger=models.BooleanField(default = False)
    Mayor_capital_Items_General_Ledger=models.BooleanField(default = False)
    def __str__(self):
        return (self.Complex + ' Settings')

Admin.py:

代码语言:javascript
复制
from django.contrib import admin
from .models import SettingsClass
# Register your models here.


class SettingsAdmin(admin.ModelAdmin):
    pass
admin.site.register(SettingsClass, SettingsAdmin)

如果有人知道是什么原因,请协助,没有错误显示何时提交的表格.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-13 08:54:52

将模板test.html添加到目录中,并在views.py中尝试此方法,以检查表单是否已保存,因此使用控制台中的print()函数来确定程序是否在某个阶段执行:

代码语言:javascript
复制
def newSetting(request):
form = SettingsForm()

if request.method == 'POST':
    form = SettingsForm(request.POST)
    if form.is_valid():
        form.save()
        return render(request , 'main/test.html' , {'form':form})

return render(request , 'main/newSetting.html' , {'form':form})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69159634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档