我正在尝试使用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 %}
答案 0 :(得分:6)
您可能正在为表格变量分配一个类而不是类的实例。 尝试:
form = EditForm()
在这种情况下,form变量具有is_valid方法,但由于没有类的实例,因此缺少self参数