Python Django ModelForm未将数据保存到模型
我创建了一个模型以及相应的ModelForm、视图和模板,但是ModelForm不会将数据保存到模型中,即使使用了.save()函数。 我试过查看表单和视图,但我不知道哪里出了问题。我已经发布了问题中相应的模型、表单、视图和模板 models.py:Python Django ModelForm未将数据保存到模型,python,django,django-models,django-forms,modelform,Python,Django,Django Models,Django Forms,Modelform,我创建了一个模型以及相应的ModelForm、视图和模板,但是ModelForm不会将数据保存到模型中,即使使用了.save()函数。 我试过查看表单和视图,但我不知道哪里出了问题。我已经发布了问题中相应的模型、表单、视图和模板 models.py: class Centre(models.Model): Location = ( ('rashmi_heights', 'Rashmi Heights Centre'), ('Levana', 'Levana Centre'
class Centre(models.Model):
Location = (
('rashmi_heights', 'Rashmi Heights Centre'),
('Levana', 'Levana Centre')
)
name= models.CharField(max_length=50, blank=False, choices=Location, unique=True)
address = models.CharField(max_length =250)
contact = models.CharField(max_length=100, blank=False)
phone = PhoneField(blank=True, help_text='Contact phone number')
def __str__(self):
return self.name
forms.py:
class CentreForm(forms.ModelForm):
class Meta():
model = Centre
fields = '__all__'
views.py:
def centre(request):
forms = CentreForm()
if request.method == 'POST':
forms = CentreForm(request.POST)
if forms.is_valid():
centre = forms.save(request.POST)
centre.save()
else:
forms = CentreForm()
return render(request,'NewApp/centreinfo.html',{'forms':forms})
模板:
<!DOCTYPE html>
{% extends 'NewApp/base.html' %}
{% load staticfiles %}
{% block body_block %}
<div class="jumbotron">
<h2>Fill details about your centre.</h2><br>
<h3> </h3>
<form method="post" enctype="multipart/form-data">
{{forms.as_p}}
{% csrf_token %}
<a class="btn btn-primary" href="{% url 'NewApp:centreinfo' %}">Submit</a>
</form>
</div>
{% endblock %}
{%extends'NewApp/base.html%}
{%load staticfiles%}
{%block body_block%}
填写您中心的详细信息。
{{forms.as_p}
{%csrf_令牌%}
{%endblock%}
html
{{forms.as_p}
{%csrf_令牌%}
提交
这很有效。但我真的不明白问题出在哪里。因为其他视图和表单似乎可以使用相同的语法正常工作。问题是Meta而不是Meta(),并且您在视图中保存了重复的条目。非常感谢。
forms.py:
class CentreForm(forms.ModelForm):
class Meta: -> change here
model = Centre
fields = '__all__'
def centre(request):
forms = CentreForm()
if request.method == 'POST':
forms = CentreForm(request.POST)
if forms.is_valid():
forms.save(request.POST)
else:
forms = CentreForm()
return render(request,'NewApp/centreinfo.html',{'forms':forms})
<form method="post" enctype="multipart/form-data">
{{forms.as_p}}
{% csrf_token %}
<button type="submit" class="btn btn-primary">Submit</button>
</form>