2012-05-13 8 views
1

Windows 7 x64でPython 2.7.2でDjango 1.3を使用しています。URLエンコードされたrequest.GET変数の値をDjangoテンプレート

私はこのようなURLパターンがあります(私はこのGET変数に基づいて、私の意見にURLを作成できるように私のテンプレートでrequest.GETを使用できるようにするパターンから

url(r'^(?P<club_id>\d+)/$', 'view_club') 

をclub_id)。私はできるだけオンラインで読むことができます:

{{ request.GET.club_id }} 

しかし、これは常に空白として表示されます。私はその理由を理解できません。私はデフォルトコンテキストプロセッサのリストに要求コンテキストプロセッサを持っています。

ありがとうございました。

答えて

1

例では、club_idはGETパラメータではなく、URLのパスの一部です。あなたのビュー関数は引数としてclub_idを受け取り、テンプレートがそれにアクセスできるようにコンテキスト内に配置する必要があります。例えば

、あなたのビュー機能:

テンプレートで、その後
def view_club(request, club_id): 
    return render(request, "template_name.html", { 'club_id': club_id }) 

{{ club_id }} 
+0

申し訳ありませんが、私は文字通り同時に私の投稿しました。私があなたの答えを最初に見たなら、私は投稿しませんでした:p –

+0

私はそれが私が望むようにそれにアクセスできるようにURLを設定することは可能ですか?私は文脈dictにこれを含めるために24以上のビューを編集する必要はありません。私はすでにコンテキストプロセッサを考えていましたが、それは可能だとは思いません。 – Craysiii

+0

@Craysiii:URLパターンにGETパラメータはまったく言及する必要はありません。 '?club_id = 123'を使うようにコードを変更すれば、元のコードはうまくいくはずです。 –

0

あなたはURLに変数を渡している場合 - この場合のclub_idに - 単にそれを含めますあなたのビュー関数の引数の次にリクエストしてください:

def get_club(request,club_id): 
    club = Club.object.get(pk=club_id) 
    return render_to_response('club.html', {'club': club}) 

あなたのテンプレートには、{{clu b}}を選択し、{{club.name}}のようなことをします。これは、forループを繰り返し使用する複数のオブジェクトを持つ変数でも機能します。

関連する問題