Python 表格提交不邮寄';是Django中的值

Python 表格提交不邮寄';是Django中的值,python,django,Python,Django,当我试图用这个简单的表单保存数据时,它并没有被发布。行动声明或url中是否有任何错误 这里request.method是GET而不是POST,即使form方法设置为POST 模型文件 from django.db import models # Create your models here. class Contact(models.Model): name = models.CharField(max_length=30, null=True, blank

当我试图用这个简单的表单保存数据时,它并没有被发布。行动声明或url中是否有任何错误

这里request.method是GET而不是POST,即使form方法设置为POST 模型文件

   from django.db import models

   # Create your models here.
   class Contact(models.Model):

       name = models.CharField(max_length=30, null=True, blank=True)
       company_id = models.CharField(max_length=30)

       def __unicode__(self):
           return self.name
py使用modelform

from contact.models import Contact
from django.forms import ModelForm

class AddcntForm(ModelForm):
    class Meta:
    model = Contact
观点

网址

模板文件如下所示

{% block content %}
<form method="post" action="/hr/addcnt/"   >{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Ok" />
</form>
{% endblock %}
{%block content%}
{%csrf_令牌%}
{{form.as_p}}
{%endblock%}

您正在传递
请求。当方法为
POST
时,将
查询信息发送到表单中。您应该通过
请求。改为POST


您还将请求传递到
form.save()
ModelForm.save()
所需的唯一(可选)参数是一个布尔“commit”标志,如果为true,将阻止表单有效地保存实例(cf)。请记住,在Python中,每个对象都有一个布尔值。。。看,您是说表单不保存您的实例;)

我也对同样的问题感到困惑

最初调用表单时,它是“GET”请求,因此语句-print request.method将打印“GET”


在表单中输入值后,如果单击“提交”,您可以在控制台中看到相同的语句-print request.method将打印“POST”,这实际上是一个POST请求。

抱歉,这只是一个输入错误。当我打印request.method时,它打印为GET而不是POST。GET(获取空表单)和POST(提交时)都会调用您的视图。而且您的代码(答案已编辑…)确实存在另一个问题。为什么要硬编码
操作
值?您应该使用django的url创建。@ThiefMaster是的,我会的,但我无法在这里找出问题所在。这只是一个测试代码。
from django.conf.urls import *
from django.conf import settings
urlpatterns = patterns('contact.views',   
   url(r'^addcnt/$', 'add_cnt', name='add_cnt'),    
)
{% block content %}
<form method="post" action="/hr/addcnt/"   >{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Ok" />
</form>
{% endblock %}