0
我一直試圖在django通用視圖中使用「UpdateView」。我試圖實現的是返回到相同的「UpdateView」頁面。 我的代碼如下:
我的網址get_success_url在URL末尾產生「無」
#urls.py
urlpatterns = patterns(
'',
url(r'^code/(?P<pk>\d+)/update/', CodeUpdate.as_view(model=Code, template_name='code_update.html'),name='update',),
)
我的看法
#views.py
class CodeUpdate(UpdateView):
def get_success_url(self):
pass
點擊更新按鈕,我希望以後的目標是
/碼/ 18 /更新/
但它原來是
/碼/ 18 /更新/無
如何刪除 「無」 在結束了嗎?謝謝。
現在,如果我這樣做:
#views.py
class CodeUpdate(UpdateView):
def get_success_url(self):
return reverse('update')
我會得到這個錯誤。
未找到參數'()'和關鍵字參數'{}'的'update'反向。 1模式嘗試:[u'/ code /(?p \ d +)/ update /']
如何在反向函數中傳遞'pk'值作爲參數。
謝謝。
你是對的。默認行爲是重定向到更新對象的'get_absolute_url'方法的結果,這可能不是OP所要查找的結果。要重新定向到對象的更新視圖,請爲URL模式指定一個名稱。然後使用'reverse'來查找它的URL並從'get_success_url'返回它。 –
如果'success_url'爲'None',則會調用'get_absolute_url'。 – iMom0
嗨@PeterDeGlopper。我試圖讓object.id作爲反向函數的參數。它工作,如果我硬編碼到'reverse('update',args =(11,))',我該怎麼做動態。謝謝。 – elvinado