2011-11-30 31 views
11

我將一步一步地給出信息。如何獲得django中的前一個網址

假設我們在關於頁面,網址是sample.com/about。 有一封電子郵件是朋友按鈕,點擊後,網址爲sample.com/emailafriend。 然後當我點擊提交按鈕時,referal網址將被提交爲sample.com/emailafriend。問題,如何獲得關於網頁的網址?順便說一句,我使用request.META['HTTP_REFERER']

回答

10

您可以與request path attribute工作,並添加到您的表單的action屬性,像這樣:

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

然後,在你告訴我的朋友看,HttpResponseRedirectreturn_url查詢參數。

+0

這絕對是一個很好的方法,將堅持重定向。 –

1

它看起來像也許你正在使用APPEND_SLASH如果你沒有斜線將做一個重定向。嘗試將按鈕鏈接更改爲sample.com/emailafriend/,注意結尾的斜槓。

+0

。 META –

+0

我已經在使用該請求。但是當你點擊提交按鈕時,這個referal頁面已經是sample.com/emailafriend了,不再是了。 – david

+0

我剛更新了我的答案。 –

0

也許只需將sample.com/about作爲GET或POST參數傳遞?甚至通過會話。

1

如果你在模板中的空request變量,根據https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest退房this post