0
我跟着this discussion來實現一個過濾內容的表。在顯示的表格中,每行都有一個單元格,用戶可以點擊鏈接並編輯該行的數據。在這個過程中,使用UpdateView。使用UpdateView的success_url返回到PagedFilteredTableView
從UpdateView的表單提交時,我想返回到用於啓動連接以編輯行數據的已過濾的內容/表。
在下面我的代碼,「下一步是{}」打印所需的網址,但該框架返回一個錯誤: The view ...didn't return an HttpResponse object. It returned None instead.
我應該使用哪種功能有更新視圖返回到所需的網址是什麼?
class UpdateMyModelView(UpdateView):
model = MyModel
template_name='data_form.html'
fields = ['A', 'B', 'C']
def form_valid(self, form):
instance = form.save(commit=False)
r = self.request
p = r.POST
print ('request is: {}'.format(r))
print ('p is {}'.format(p))
print ('request POST.next is: {}'.format(p['next']))
self.success_url = p['next']
print ('next is {}'.format(self.success_url))
super(UpdateMyModelView, self).form_valid(form)
謝謝!這工作。 get()爲next執行字典查找並使用某種類型的正則表達式替換default-url的值爲'next'lookup? – js07920
使用'get()'可以讓你指定一個後備,如果密鑰丟失。如果你執行'request.POST ['next']',那麼如果發佈請求中缺少'next',你會得到'KeyError'。 – Alasdair