2017-03-07 18 views
2

Django 1.10.5を使用してウェブサイトを構築しようとしています。現時点では、私はフロントエンドのデータベースオブジェクトを編集する方法に取り組んでいます。私の計画は、ユーザーが編集したいオブジェクトのIDを入力するフォーム 'EditForm'を定義することでした。実際のサイトでそのフォームだけをテストして、何かを提出できるかどうかを確認するには、次のエラーが表示されます。 'is_valid()に1つの必須の位置引数がありません:' self ''。私はコードの中で私のエラーを見つけることができないので、事前に任意のヘルプやアイデアを感謝します。私のviews.pyからDjango is_valid()missing 1必要な位置引数: 'self'

:forms.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 
}) 

の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

は、おそらくあなたがクラスを割り当てていませんクラスのインスタンスをフォーム変数に追加します。 してみてください。この場合、フォーム変数で

form = EditForm() 

はIS_VALID方法がありますが、自己の引数は、あなたの答えのために

+0

感謝が欠落しているクラスのインスタンスが存在しないので、私はシンプルなものに欠けていたことを知っていました... – Nkls155

+0

実際に何かを検証する場合は、フォームにデータを渡す必要があります(通常は 'request.POST') –

関連する問題