2014-12-05 47 views
8

我有一個Post模型,需要在添加到數據庫之前的某個類別,並且我希望自動生成類別。點擊addPost按鈕可以進入不同的頁面,因此該類別將通過獲取前一頁面url的一部分來確定。Django:獲取以前的網址

有沒有辦法讓前一頁的網址作爲字符串?

謝謝

編輯:我在這裏添加了我的AddPost按鈕。

<aside class="addPost"> 
     <article> 
      <form action="/Forum/addPost"> 
        <input type="submit" name="submit" value="Add Post"/> 
      </form> 
     </article> 
</aside> 

回答

7

您可以在這裏使用request.META.HTTP_REFERER

更多信息得到參考網址:https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META

+0

道歉,我不太遵循的工作方式。你能解釋一下嗎?如果我能夠以這種方式檢索URL,它會允許我將它視爲字符串類型? – tryingtolearn 2014-12-06 01:18:44

+3

嘗試使用request.META.HTTP_REFERER時出現錯誤,表示dict對象沒有屬性HTTP_REFERER。 – tryingtolearn 2014-12-06 11:28:51

1

一個更可靠的方法是明確地傳送的類別中添加新貼按鈕的URL。

+0

對不起,能否詳細說明一下?我是這個新手。 – tryingtolearn 2014-12-06 01:12:48

10

您可以使用self.request.META['HTTP_REFERER']來做到這一點,但只有您的標籤頁前一頁來自您的網站纔會存在,否則META dict中不會有HTTP_REFERER。所以要小心,並確保您正在使用.get()符號。

# Returns None if user came from another website 
referer = self.request.META.get('HTTP_REFERER') 
+0

名稱'自我'未定義? – 2017-08-25 00:56:09

3

我不能回答@tryingtolearn評論,但對於未來的人,你可以使用request.META['HTTP_REFERER']