2011-11-30 3 views
11

私はステップ情報でステップを与えます。djangoの前のURLを取得するには

「about」ページにあるとします。urlはsample.com/aboutです。 友人のボタンがクリックされると、そのURLはsample.com/emailafriendになります。 次に、送信ボタンをクリックすると、紹介URLがsample.com/emailafriendに送信されます。質問、約ページURLを取得する方法?ところで、私はrequest.META['HTTP_REFERER']を使用しています。

答えて

10

あなたはrequest path attributeと協力し、そのように、フォームのaction属性にそれを追加することができます。

<form method="post" action="/tell-a-friend?return_url={{ request.path }}"> 
... 
</form> 

次に、あなたのTELL-友人ビュー、return_urlクエリパラメータにHttpResponseRedirectインチ

+0

これは間違いなく、リダイレクトに固執する良いアプローチです。 –

1

おそらくAPPEND_SLASHを使用しているようですが、スラッシュがない場合はリダイレクトを行います。ボタンのリンクをsample.com/emailafriend/に変更して、スラッシュをメモしてください。

+0

をチェックしてください。 META –

+0

私はすでにそのリクエストを使用しています。しかし、送信ボタンをクリックすると、紹介ページはすでにsample.com/emailafriendになっています。 – david

+0

私はちょうど私の答えを更新しました。 –

0

sample/aboutをGETまたはPOSTパラメータとして渡すだけでもいいですか?またはセッションを通して。

1

そして、あなたはテンプレートで空request変数を取得する場合、https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequestに応じthis post

関連する問題