1

ここで何かを見落としているに違いありませんが、すべてを取り除いた後、Django に Form または ModelForm をテンプレートにレンダリングさせることができないようです。以下のコード:

#forms.py
class ContactForm(forms.Form):
   subject = forms.CharField(max_length=100)
   message = forms.CharField()
   sender = forms.EmailField()
   cc_myself = forms.BooleanField(required=False)

#views.py
def index(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid(): # All validation rules pass
            return HttpResponseRedirect('/thanks/')
    else:
        form = ContactForm() # An unbound form
    return render_to_response('home/new_website.html',{
        'form': form,
        })

#new_website_html
<html>
<body>
    <form method = "post" action = "">
        {{ form.as_p }}
    </form>
</body>
</html>
4

2 に答える 2

1

私は同じ問題を抱えていましたが、何度も試した後、これが私の解決策です:

ここから見方を変える

#views.py
else:
    form = ContactForm() # An unbound form
return render_to_response('home/new_website.html',{
    'form': form,
    })

それに:

#views.py
else:
    form = ContactForm() # An unbound form
    return render_to_response('home/new_website.html',{
        'form': form,
        })

または、単純な改行で十分です。

#views.py
else:
    form = ContactForm() # An unbound form

return render_to_response('home/new_website.html',{
    'form': form,
    })

奇妙なことは、これらの変更の後、元のコードが機能したことです。

于 2015-11-05T01:47:30.570 に答える