2016-08-09 113 views
0

提交表格後,我想保留用戶在下拉字段中選擇的值。我正在使用Django 1.8。有些職位在這裏alude到如何使用PHP來做到這一點通過訪問會話變量:保留表格提交後的值

Keep values selected after form submission

有沒有辦法使用Django做到這一點?也許一個JavaScript解決方案可以工作,但我不太熟悉w/JS,而不是修改和使用現有的JS代碼工具。

+0

在選擇它之後,您想要對值做什麼?你是在討論在save()方法後填充它還是在窗體的另一部分中使用? – jape

+0

從字面上看,我只是希望在用戶提交表單後填充它。他們正在選擇他們想要用該字段搜索哪個數據庫,如果他們的搜索出現空白,他們必須重新選擇數據庫並嘗試另一個搜索詞。他們很少需要切換數據庫,所以我希望在頁面重新加載時預先選擇最後一個選擇。 – mk8efz

+0

他們的選擇是否保存在模型領域?如果是這樣,你可以改變你的表單的'__init __()'方法來顯示預填充的數據。每次保存表格時,該字段都會更新並顯示最新的選擇。 – jape

回答

0

根據信息的敏感程度,您可以在提交表單時將它們存儲在localStorage中,並在頁面刷新時從localStorage中簡單地獲取信息。有一件事要記住,localStorage只存儲字符串,所以如果你想存儲JavaScript對象,你可以使用json。

保存的字符串:

localStorage.setItem("key", "stringValueBeingStored"); 

保存的對象:

localStorage.setItem("key", JSON.stringify(objectBeingStored)); 

檢索stringValue的:

var stringValue = localStorage.getItem("key"); 

檢索對象:

var retrievedObject = JSON.parse(localStorage.getItem("key")); 

希望有所幫助!

0

「Django的方法」可能在User模型中添加一個字段,稱爲database(或任何您想要的),並存儲用戶在其中選擇的數據庫。