2014-08-30 52 views
0

我正在嘗試編寫一個小型的urlshortener應用程序。django - 如何將自定義模板過濾器應用於絕對網址

一切都設置得很好。現在我正嘗試將過濾器應用於完整的網址:

{{ request.build_absolute_uri }}{{ request.get_absolute_url}}給了我完整的網址。但是,如果我的應用過濾器這樣的:

href="{{ request.build_absolute_uri }}{{ request.get_absolute_url|shortenme}}" 

我的過濾器狀態並沒有得到任何東西,因爲request.get_absolute_url單獨給空字符串。

只有{{ request.build_absolute_uri }}{{ request.get_absolute_url}}給出了我想要的完整url。我如何將我的過濾器應用到完整的網址?

+0

你確定'get_absolute_url'返回期望的值,而不是一個空字符串? – Alasdair 2014-08-30 18:49:26

+0

@Alasdair是的,你說得對。它是一個空字符串。該死的。我認爲''build_absolute_uri''和''get_absolute_url''一起給了我完整的路徑。我會改變我的問題,詢問如何在這種情況下應用我的過濾器。 – doniyor 2014-08-30 18:53:11

回答

1

請求沒有get_absolute_url方法。

您想使用request.pathrequest.get_full_path。第二個包含任何查詢字符串。

有關更多信息,請參見request attributes上的文檔。

+0

謝謝,我的不好。 ''request.build_absolute_uri''就是給出完整的url。不管怎麼說,還是要謝謝你。 – doniyor 2014-08-30 19:18:36

相關問題