2017-06-29 16 views
0

私は助けが必要です。 DjangoとPythonを使用してviews.pyファイル内の別のボタンをクリックすると、すべてのhtmlフィールドの値を取得する必要があります。私は以下のコードを説明しています。ここでDjangoとPythonを使用せずにHTMLファイルの値を取得する方法

<div class="boxwidthinnerdiv"> 
     Nuclear Mini Plant<br /><br /> 
     <select> 
      <option>Reactor 1</option> 
      <option>Reactor 2</option> 
      <option>Reactor 3</option> 
     </select> 
     <br /><br /><br /><br /> 
     <a href="{% url 'start' %}"><button class="buttondiv" type="button">Start</button></a> 
     <a href="{% url 'shut' %}"><button class="buttondiv">Shut Down</button></a> 
     <a href="{% url 'suspend' %}"><button class="buttondiv">Suspend</button></a> 
    </div> 

、ユーザが選択フィールド値は以下の通りであるviews.pyファイルに取得する必要がありますスタートボタンをクリックします。

def start(request): 
    status = 1 

def shut(request): 
    status = 0 

def suspend(request): 
    status = 2 

ここでは、選択したフィールドの選択値を取得する必要があります。私を助けてください。

+0

なぜフォームを使用したくないですか?各サブミットを別のURLに移動させる場合は、ボタンのクリックに基づいてフォームのアクションURLを動的に設定できます。 [これは答え]を見てください(https://stackoverflow.com/questions/22985643/change-form-submission-url-based-on-button-clicked) –

+0

これはおそらくうまくいかないでしょう。なぜあなたはフォームを使いたいのですか? –

+0

@DanielRoseman:あなたのアイデアを投稿でお知らせいただけますか? – subhra

答えて

1

このために複数のビューやリンクは必要ありません。一つは、ポスト要求から型の値を取得することによって押されて、あなたのビューのチェックに続い

<button name="type" value="start" class="buttondiv" type="button">Start</button> 
    <button name="type" value="shut-down" class="buttondiv">Shut Down</button> 
    <button name="type" value="suspend" class="buttondiv">Suspend</button> 

:ちょうど(名前例=「タイプ」)と、このようにそれらのそれぞれの値をボタンの名前を追加します。 例:

#views.py 

def your_view(request): 
    if request.method == "POST": 
     if request.POST.get('type') and request.POST.get('type') == "start": 

      #do something when "Start" button pressed. 

     elif request.POST.get('type') and request.POST.get('type') == "shut-down": 

      #do something when "Shut Down" button pressed. 

     elif request.POST.get('type') and request.POST.get('dl-type') == "suspend": 

      #do something when "Suspend" button pressed. 
    else: 
     #do something when request is not post. 
     #redirect or render a template for example. 

選択のようなあなたのすべての入力は、通常のフォームのように利用できるようになります。

ポストリクエストを印刷して、使用できるものを確認し、これがどのように機能するかを理解することができます。

関連する問題