Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Django表格未提交_Html_Django_Django Forms - Fatal编程技术网

Html Django表格未提交

Html Django表格未提交,html,django,django-forms,Html,Django,Django Forms,我有一个Django模型/视图/表单,它在模板中正确呈现,但它没有提交输入到数据库的数据。在此方面的任何帮助都将不胜感激 #models.py from django.db import models from django.forms import ModelForm class UserRegistration(models.Model): user_first = models.CharField(max_length=50) user_last = models.Ch

我有一个Django模型/视图/表单,它在模板中正确呈现,但它没有提交输入到数据库的数据。在此方面的任何帮助都将不胜感激

#models.py

from django.db import models
from django.forms import ModelForm

class UserRegistration(models.Model):
    user_first = models.CharField(max_length=50)
    user_last = models.CharField(max_length=50)
    user_email = models.EmailField()
    #user_fantasyhost = models.CharField(max_length=50)

    def __unicode__(self):
        return u'%s %s %s' % (self.user_first, self.user_last, self.user_email)

class RegForm(ModelForm):
    class Meta:
        model = UserRegistration

#views.py

from django.shortcuts import render_to_response
from django.shortcuts import render
from django.http import HttpResponse, HttpRequest, HttpResponseRedirect
from acme.dc_django.models import UserRegistration
from acme.dc_django.models import RegForm

def regPage(request, id=None):
    form = RegForm(request.POST or None,
                       instance=id and UserRegistration.objects.get(id=id))

    if request.method == 'POST' and form.is_valid():
        form.save()
        return HttpResponseRedirect('/league_setup/')
    user_info = UserRegistration.objects.all()
    context = {
        'form':form,
        'user_info' :user_info,
    }

    return render(request, 'regpage.html', context)

#repage.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML lang="en">
<head>
    <title>User Registration</title>
</head>
<body>

    <form method="POST" action="/league/">
        {% csrf_token %}
        <table>{{ form }}</table>
        <input type="submit" value="Create Account" 
    </form><br /><br />

</body>
</HTML>
#models.py
从django.db导入模型
从django.forms导入ModelForm
类用户注册(models.Model):
user\u first=models.CharField(最大长度=50)
user\u last=models.CharField(最大长度=50)
user_email=models.EmailField()
#user\u fantasyhost=models.CharField(最大长度=50)
def ___; unicode(自):
返回u“%s%s%s%”(self.user\u第一,self.user\u最后,self.user\u电子邮件)
类RegForm(ModelForm):
类元:
模型=用户注册
#views.py
从django.shortcuts导入渲染到响应
从django.shortcuts导入渲染
从django.http导入HttpResponse、HttpRequest、HttpResponseRedirect
从acme.dc_django.models导入用户注册
从acme.dc_django.models导入注册表
def regPage(请求,id=None):
form=RegForm(request.POST或None,
instance=id和UserRegistration.objects.get(id=id))
如果request.method==“POST”和form.is\u有效():
form.save()
返回HttpResponseRedirect('/league\u setup/'))
user\u info=UserRegistration.objects.all()
上下文={
“形式”:形式,
“用户信息”:用户信息,
}
返回呈现(请求'regpage.html',上下文)
#repage.html
用户注册
{%csrf_令牌%}
{{form}}

我试过你的密码。您的问题是html表单标记的action属性设置为“/league/”

除非reqPage url实际上是“/league/”,否则它不会工作。当我将
action=“/league/”
更改为
action=“
时:

<HTML lang="en">
<head>
    <title>User Registration</title>
</head>
<body>

    <form method="POST" action="">
        {% csrf_token %} 
        <table>{{ form }}</table>
        <input type="submit" value="Create Account"  />
    </form><br /><br />

</body>
</HTML>


用户注册
{%csrf_令牌%}
{{form}}


表单确实起作用了:

In [3]: UserRegistration.objects.all()
Out[3]: [<UserRegistration: aoeu oeu oeu@aeou.com>]
[3]中的
:UserRegistration.objects.all()
输出[3]:[]

您尚未关闭表单提交标签,但这可能只是一个输入错误,您的浏览器可能可以处理它。这种问题通常比我们更容易调试。这个观点哪里出了问题?在视图中放置一些print语句以了解情况。例如,
form.is\u valid()
的值是多少。您能详细说明什么不起作用吗?我发现
但它没有提交输入数据库的数据
混淆我没有收到错误,当我回到我的桌面时,我将包括打印语句。问题是,当我点击submit按钮时,什么都没有发生——什么都没有。现在,您指出了open标记,我将看看这是一个输入错误还是问题所在。以后再说。谢谢。我关闭了提交标签,提交按钮现在将我带到正确的页面,但数据从未写入数据库,我将插入打印语句…请更新代码示例在我看到你的答案之前,我做了同样的事情,得到了同样的结果!谢谢你的帮助!数据处理