1
私はこれに関する決定的な文書は見つかりませんでしたが、複数のビューでサイドバーで使用する必要がある連絡フォームがあります。現在、フォームを処理するために、複数のビューで以下のコードスニペットを繰り返しているため、私のコードは汚いです。 Post Requestを継承できるテンプレートに配置する方法はありますか?継承された投稿要求を持つ複数のビューで1つのDjangoフォーム
ビュー
def contact(request):
form_class = ContactForm
if request.method == 'POST':
form = form_class(data=request.POST)
messages.add_message(request, messages.SUCCESS, 'Thank you, we have received your message.')
if form.is_valid():
...
あなたの助けをいただき、ありがとうございます。
def contact(request):
# First you choose the form.
form_class = ContactForm
# Then you want to know if request is POST type
if request.method == 'POST':
# You take the form data from given POST
form = form_class(data=request.POST)
# You add message to messages.
messages.add_message(request, messages.SUCCESS, 'Thank you, we have received your message.')
あなたが同じオーバーを行うと、何度も繰り返した場合、あなたはの初めに、独自の機能を作成することができます。今、私はあなたがすべてのビューが実行されている間、次のように同じ操作を行うと仮定してい
は、私はあなたが*本当に*フォームを継承*と言って何を意味するのか分からない:
その後、私の見解は以下の通りである:だから、私は以下のように
take_message
方法があることに変化していますしかし、私はクラスベースのビューはあなたを助けるかもしれないと思う。 |しかし、上記のコードを必ずしも繰り返す必要はないという場合には、これはあなたを助けるかもしれません:https://codeshare.io/ZN7nx –Bloody brilliant !!数分待ってから '{'form':ContactForm}'を私の 'contact'関数に置かなければならないことに気付きました。私が正しいと受け入れる答えとしてコードシェアを置くことができますか?また、あなたが気にしないなら、あなたのコードの '(req、msg)'部分に関するいくつかのドキュメントを指摘できますか?私は検索しましたが、どこから来たのか分かりませんでした。再度、感謝します!! –
これはドキュメント上には何もありません。単に関数を作成し、 'request'、' message'、 'form_class'を引数として渡しました。それで全部です。私はしばらく後で答えます。 –