0
用戶點擊一個按鈕,通過一個包含pk的POST請求將它們帶到一個新表單中。這是用來預先填充新的表單與一些額外的數據。此時沒有數據保存到數據庫。我不想通過URL傳遞這個PK,所以無法使用GET調用視圖。如何使用POST(而不是GET)設置CreateView視圖的初始表單值?
我試着重寫CreateView中的get_initial()
方法,但是這似乎只在GET請求後調用。
我也試過def post()
,它讓我能夠輕鬆訪問字段,但意味着我必須編寫更多代碼來處理表單驗證等(這是由vanilla CreateView自動處理的)。
那麼,當兩個請求都通過POST進行處理時,處理表單的保存和渲染的最佳方式是什麼?
這是一個奇怪的要求。爲什麼不能使用GET顯示錶單?這是正常模式; POST用於進行更改,不顯示數據。 –
形式是爲寵物主人和他/她的寵物預約。我想預先填寫擁有者和寵物名稱的表單。我不能簡單地通過所有者的PK,因爲不是所有的寵物都會在預約中,而且我不能只是通過寵物PK,因爲可能有多於一個。 –
..使用POST我可以通過一個寵物PK列表。不知道如何通過GET乾淨地做到這一點。 –