私はDjango adminの外でDjango Webアプリケーションのホームページを作成しています。ホームページに、非常に単純なModelFormを用意して、提出するとデータベースに書き込むようにしたいと思います。/home /のAttributeError: 'ActionCodeForm'オブジェクトに 'is_bound'属性がありません
現在/ home /に次のエラーが表示され、解決方法がわかりません。
はAttributeErrorホーム/ ATは/「ActionCodeForm」オブジェクトは、私が結合および非結合フォームについて知っているとドキュメントを読んだことが何の属性 「is_bound」
を持っていませんが、私は実際に実装する方法がわかりませんそれら。ここで
は私のモデルである:ここでは
class ActionCode(models.Model):
action_code = models.CharField(blank=False, max_length=10,
verbose_name="Action Code")
は私ModelForm
次のとおりです。ここで
class ActionCodeForm(ModelForm):
class Meta:
model = ActionCode
fields = ('action_code',)
def __init__(self, *args, **kwargs):
super(ActionCodeForm).__init__(*args, **kwargs)
が私の見解です:
def action_code_form(request):
if request.method == 'GET':
form = ActionCodeForm()
else:
form = ActionCodeForm(request.POST)
if form.is_valid():
action_code = form.cleaned_data['action_code']
form.save()
else:
form = ActionCodeForm()
return render('action_code_form.html', {'form': form},
context_instance=RequestContext(request))
そして、ここでは私のテンプレート、action_code_form.html
です:
<form method="post" action="">
{% csrf_token %}
<table>
{{ form }}
</table>
<input type="submit" value="Submit"/>
</form>
そしてurls.py
:
from home.views import action_code_form
urlpatterns = [
url(r'^home/', action_code_form, name="home"),
]
関連性があるのか、 'super(ActionCodeForm)'ではなく 'super(ActionCodeForm、self)'でなければなりません。 – knbk
これは、フォームがまったく使用されていないことを意味します。なぜなら、これはTypeErrorだからです。 –