2017-12-16 17 views
2

私はちょうどDjangoで作業を始めました。別のhtmlページと通信するhtml形式のsubmitフォームを作成したいと思います。Djangoで別のHTMLページに値を取得するには?

Page1.html:感謝をGetリクエストPage2.html表示に:のは、私はその後、私は

Page2.htmlをpage2.htmlにリダイレクトよ、提出をクリックし、「こんにちは」と入力したとしましょう、フォームを送信"Hello World" のPAGE2は

私はこのフォームをご利用のPage1で

PAGE1からロードされているので、私はこの機能を持っている

Views.pyで
<form type="get" action="/page2" style="margin: 0"> 
<input id="search_box" type="text" name="search_box" placeholder="Search..." > 
<button id="search_submit" type="submit" >Search</button> 

def page2(request): 
    if request.method == 'GET': 
     search_query = request.GET.get('search_box', None) 
     return render(request, 'interface/recherche.html', locals()) 

しかし、私はPAGE2中のPage1で入力された単語、あなたの答えのためにどうもありがとうございました:)

+0

'type =" get "'は何もしません。 'method =" get "はあなたが望むものです(これはデフォルトですので、これはとにかく動作します) – thebjorn

答えて

1

テンプレートに全体のローカル変数の送信がいかに表示する方法がわかりません危険で不安定なだけでなく、不要なので、代わりにlocals()を渡すので、あなたがrequest.GETまたはsearch_boxでキー値だけを使用して全体のクエリ文字列を渡すことができ、次のいずれか

return render(request, "interface/recherche.html", request.GET) 

または

return render(request, "interface/recherche.html", {"search_box": search_query}) 

recherche.htmlの値を{{ search_box }}のように印刷することができます。

ブラウザのアドレスバーに/page2?search_box=textのような名前を入力してテストすることができます。ページにはtextが表示されます。

関連する問題