Python 我有一个绑定的模型表单无效
我试图创建一个链接到外部数据库的模型表单,当您提交表单时,外部数据库将得到更新。当我检查表单的有效性时,问题来了,它是无效的 我对此做了一些研究,发现最常见的问题是表单没有绑定,但当我使用print(form.non_field_errors)时,我得到:Python 我有一个绑定的模型表单无效,python,django,django-forms,Python,Django,Django Forms,我试图创建一个链接到外部数据库的模型表单,当您提交表单时,外部数据库将得到更新。当我检查表单的有效性时,问题来了,它是无效的 我对此做了一些研究,发现最常见的问题是表单没有绑定,但当我使用print(form.non_field_errors)时,我得到: 您的HTML表单没有命名字段,因此表单无法获取这些字段。您也想使用表单进行呈现:您的HTML表单没有命名字段,因此表单无法获取字段。您也要使用表单进行渲染:您如何发送表单??在视图中,GET方法没有任何内容?html中输入字段的名称在哪里?如
您的HTML表单没有命名字段,因此表单无法获取这些字段。您也想使用表单进行呈现:您的HTML表单没有命名字段,因此表单无法获取字段。您也要使用表单进行渲染:您如何发送表单??在视图中,GET方法没有任何内容?html中输入字段的名称在哪里?如何发送表单??在视图中,GET方法没有任何内容?html中输入字段的名称在哪里?
class MarketingEmails(models.Model):
messageid = models.AutoField(db_column='column1', primary_key=True)
subject = models.CharField(db_column='column2', max_length=2000)
body = models.TextField(db_column='column3') #using a text field as there is no maximum length
name = models.CharField(db_column='column4', max_length=25)
altsubject = models.CharField(db_column='column5', max_length=2000)
utm_source = models.CharField(db_column='column6', max_length=25)
utm_content = models.CharField(db_column='column7', max_length=25)
utm_campaign = models.CharField(db_column='column8', max_length=25)
class Meta:
managed = False
db_table = ''
class EmailForm(forms.ModelForm):
class Meta:
model = MarketingEmails
fields = ['messageid','subject','body','name','altsubject','utm_source','utm_content','utm_campaign']
def emailinfo(request, pk):
if request.session.has_key('shortname'):
shortname = request.session['shortname']
rows = get_object_or_404(MarketingEmails, pk=pk)
if request.method == 'POST':
form = EmailForm(request.POST)
print(form.errors)
print(form.non_field_errors)
if form.is_valid():
form.save()
print("form is valid")
return redirect('marketingemails:emailinfo', pk = rows.messageid)
return render(request, 'marketingemails/emailinfo.html',{'shortname': shortname, 'rows': rows})
else:
return HttpResponseRedirect(reverse('common:login'))
app_name = 'marketingemails'
urlpatterns = [
url(r'^marketing/emails/(?P<pk>[0-9]+)/$', marketingviews.emailinfo, name='emailinfo'),
]
<form method="POST" class="post-form" action ="">
{% csrf_token %}
<label for="exampleTextarea">Name</label>
<textarea class="form-control" id="exampleTextarea" rows="1">{{ rows.name }}</textarea>
<label for="exampleTextarea">Subject</label>
<textarea class="form-control" id="exampleTextarea" rows="1">{{ rows.subject }}</textarea>
<label for="exampleTextarea">Alternative Subject</label>
<textarea class="form-control" id="exampleTextarea" rows="1">{{ rows.altsubject }}</textarea>
<label for="exampleTextarea">Body</label>
<div class="ibox-content no-padding">
<div class="summernote">
{{ rows.body }}
</div>
</div>
<label for="exampleTextarea">utm_source</label>
<textarea class="form-control" id="exampleTextarea" rows="1">{{ rows.utm_source }}</textarea>
<label for="exampleTextarea">utm_content</label>
<textarea class="form-control" id="exampleTextarea" rows="1">{{ rows.utm_content }}</textarea>
<label for="exampleTextarea">utm_campaign</label>
<textarea class="form-control" id="exampleTextarea" rows="1">{{ rows.utm_campaign }}</textarea>
<button type="submit" class="save btn btn-default">Save</button>
</form>