2016-09-28 60 views
0

現在。我在我的頁面中有搜索功能來搜索項目ID。當我點擊搜索時,我將呈現與結果項目相同的頁面並顯示項目。而在其他頁面中,我還顯示項目ID,我想添加一個鏈接到該ID去同一頁,我搜索該ID。Django重定向到頁面並提交表單?

例如:id:123,我想在同一頁面時: 1.在我的搜索頁面中搜索'123'(我的搜索只接受完全匹配) 2.在其他頁面中,單擊'123',轉到帶搜索結果的搜索頁

我該如何做到這一點,我嘗試了很多不炒鍋的方法。

+2

你應該展示一些代碼,展示你所嘗試過的東西,並且給我們一個更好的想法。 – Jacobr365

+0

我不記錄所有代碼更改。我將嘗試更加清楚地解釋 –

+0

我通過使用javascript使用POST方法創建超鏈接來解決這個問題。這可能不是最好的解決方案,但解決我的問題。 –

回答

0

您需要使用HTML表單提供的GET方法。當您從第一頁執行搜索時,必須確保您在表單中使用GET方法。這會將表單數據附加到URL中。

E.g.如果您的表單中有「約翰」字樣的「姓名」字段,這種形式的提交將組成一個URL,像這樣:

name = request.GET['name'] 

你可能做過類似的事情已經顯示您的搜索結果:

http://someurl.com/?name=John 

這可以接着使用Django的request對象訪問。因此,您只需在第二個頁面中創建一個鏈接,並通過附加的GET請求變量重定向到搜索頁面。

E.g.

<a href="{% url 'search_page' %}?searchterm=232> Item 232 </a> 
+0

有沒有辦法使用POST方法保留原始搜索?我現在的想法是使用不同的新網址來捕捉並重定向到搜索頁面,就像在搜索頁面上進行調用一樣。 –

+0

如果所處理的信息不敏感,我強烈建議使用帶GET的表單。 請參閱此鏈接以查看GET和POST的差異: http://www.w3schools.com/tags/ref_httpmethods.asp – zubhav

相關問題