Django is_valid()缺少1个必需的位置参数:' self'

时间:2017-03-07 09:38:37

标签: django django-forms

我正在尝试使用Django 1.10.5构建一个网站。目前我正在研究在前端编辑数据库对象的方法。我的计划是定义一个表单' EditForm',用户输入他想要编辑的对象的ID。当我在真实网站上仅测试该表单以查看是否可以提交某些内容时,我收到以下错误:' is_valid()缺少1个必需的位置参数:' self& #39;&#39 ;.我无法在代码中找到错误,所以请提前感谢任何帮助或想法。

来自我的views.py:

def mymodel_test(request,):
form = EditForm
if request.method == 'POST':
    if form.is_valid():
        temp_id = form(request.POST)
return render(request, 'mymodel_test.html', {
    "Title": "Test",
    "form": form
})

forms.py中的EditForm:

class EditForm(forms.Form):
id = forms.IntegerField(label='Edit object with following ID')

mymodel_test.html:

{% extends "base.html" %}
{% block content %}
<form method="post" action="">
{% csrf_token %}
<table>
{{ form }}
</table>
<input type="submit" value="Edit"/>
</form>
{% endblock %}

1 个答案:

答案 0 :(得分:6)

您可能正在为表格变量分配一个类而不是类的实例。 尝试:

form = EditForm()

在这种情况下,form变量具有is_valid方法,但由于没有类的实例,因此缺少self参数