2017-03-10 4 views
-1

私のDjangoプロジェクトでは、2つのWebページがあります。最初のWebページにユーザー入力データがあり、2番目のWebページは、最初のWebページでユーザーの入力によって選択されたものをユーザーに提供します。Djangoでは、ユーザーからの入力を次のページのURLにどのように渡すのですか?

しかし、最初のWebページのユーザーからの入力を2番目のWebページの表示機能に渡す方法はわかりません。

は、ここで最初のウェブページのためのコードなどが私のview.pyされています。ここでは

class MajorProgramForm(forms.Form): 
    major_programs = forms.ChoiceField(label='Major Programs', choices=MAJORS, required=True) 

def choose_major_program(request): 
    if request.method == "GET": 
     form = MajorProgramForm(request.GET) 
    context = {'form': form} 
    return render(request, "program.html", context)) 

はurls.pyです:

urlpatterns = [ 
    url(r'^$', choose_major_program, name="choose_major_program")] 

そして以下は、最初のWebページのための私のテンプレートです。

<html> 
    <head> 
     <title>Choose Major Program</title> 
    </head> 
    <body> 
     <div id="header"> 
      <h1>Choose Major Program</h1> 
     </div> 
     <div class="frame"> 
      <form name="form" action="{% url 'choose_major_program' %}" method="GET"> 
      {% csrf_token %} 
      <ul> 
      <select name="major_choice"> 
      {% for value, text in form.major_programs.field.choices %} 
       <option value="{{ value }}">{{ text }}</option> 
      {% endfor %} 
      </select> 
      </ul> 
      <input type="submit" value="Submit" /> 
     </form> 
    </div> 
</body> 

あなたの助けてくれてありがとう!

+0

にデータを送信するために変更し、フォームのaction引数は動作しませんここstackoverflowの中downvote磁石です。そのフレーズを絶対に使わないでください。何が起こったのかを常に説明してみてください。 – e4c5

答えて

0
def second_website(request): 
    request.GET['major_choice'] # Gets the value of the parameter on the URL 

しかし、第一、第二のテンプレート

<form name="form" action="{% url 'second_website' %}" method="GET"> 
+0

"french"を選択して最初のWebページのSubmitボタンをクリックすると、最初のページのURLは次のようになります。私は間違っていると思います:http://127.0.0.1: 8000 /コース/?csrfmiddlewaretoken = arno5N9jmnKF95J3RdQCuoG3UnBQnFyP0w8aEBZHYOFFKIyiurGR8yoyW2dud9qA&major_choice = bs + in + environment + science + MAJORどのようにリクエストを渡すか。最初のページのURLにアクセスしますか? –

+0

そして別の問題があります。私の2番目は、ユーザーにいくつかの選択肢を提供します。したがって、私の2番目の形式では、私は選択肢が必要です。私がrequest.GET ['major_choice']を使うと、2番目のフォームの選択肢を与える方法は? –

+0

MAJORS iterable変数の内容を投稿できますか? MajorProgramFormで参照しているもの –

関連する問題