为什么我不能将新表单保存到数据库?

时间:2020-06-03 10:53:18

标签: django django-forms

我真的不知道我的代码是什么问题。我正在使用django连接到数据库,然后尝试将新数据保存到数据库中,这是models.py:

class guest_room(models.Model):
    room_number=models.CharField(max_length=25,primary_key=True)
    room_type=models.CharField(max_length=25)
    room_status=models.CharField(max_length=25)

这是form.py:

class guest_room_form(forms.ModelForm):  
class Meta:  
    model = guest_room  
    fields = ['room_number', 'room_type', 'room_status'] 
    widgets = { 'room_number': forms.TextInput(attrs={ 'class': 'form-control' }), 
        'room_type': forms.TextInput(attrs={ 'class': 'form-control' }),
        'room_status': forms.TextInput(attrs={ 'class': 'form-control' }),
  }

这是views.py:

def addnewroom(request):
    if request.method=="post":
        form=guest_room_form(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect("guestroom")

    else:
        form=guest_room_form()
    return render(request,'addnewroom.html',{'form':form})

这是添加新数据页面的html:

<form method="POST" class="post-form" action="../addnewroom/">     {% csrf_token %}
    <div class="container">
        <br>
        <div class="form-group row">
            <label class="col-sm-1 col-form-label"></label>
            <div class="col-sm-4">
                <h3>Enter Details</h3>
            </div>
        </div>
        <div class="form-group row">
            <label class="col-sm-2 col-form-label">Room Number:</label>
            <div class="col-sm-4">      {{ form.room_number }}
            </div>
        </div>
        <div class="form-group row">
            <label class="col-sm-2 col-form-label">Employee Email:</label>
            <div class="col-sm-4">      {{ form.room_type }}
            </div>
        </div>
        <div class="form-group row">
            <label class="col-sm-2 col-form-label">Employee Contact:</label>
            <div class="col-sm-4">      {{ form.room_status }}
            </div>
        </div>
        <div class="form-group row">
            <label class="col-sm-1 col-form-label"></label>
            <div class="col-sm-4">
                <button type="submit" class="btn btn-primary">Submit</button>
            </div>
        </div>
    </div>
</form>

提交成功后,我想返回到“ guestroom.html”,但是现在提交后,它停留在同一页面上。我也无法在数据库中找到新表格。出了什么问题?

0 个答案:

没有答案