2017-05-28 49 views
0

我想在保存模型之後重新編寫頁面。當我按下保存按鈕,頁面重定向,但沒有任何保存的東西。django - 保存模型後如何重定向頁面

def channelAdd(request): 
    if request.method == 'POST': 
     form = ChannelForm(request.POST) 
     if form.is_valid(): 
      channelid = form.cleaned_data['channelid'] 
      form.save() 

      return HttpResponseRedirect(reverse('updateChannelInfo', args=[channelid])) 

    else: 
     form = ChannelForm() 

    return render(request, 'web/channelAdd.html', {'form':form}) 
+0

你能張貼您的模型 – zaidfazil

+1

你的代碼看起來對我好.. 它不因重定向到'form'不得'valid'。 –

+1

我同意@vinaykumar:你的代碼看起來有效。由於無效,表格可能無法保存。另外,最好使用基於類的視圖'UpdateView'來處理所有的細節,比如保存和重定向。 –

回答

-1

編輯您的看法是這樣,

if form.is_valid(): 
    form.save() 
    return redirect('updateChannelInfo', channelId=self.object.id) 
+0

請隨時downvoting後添加評論,它可以幫助做出更好的回答下一次.. – zaidfazil

+0

法齊爾,你代碼中有一個不正確的'HttpResponseRedirect'構造函數調用(我猜你的意思'django.shortcuts.redirect'因爲'HttpResponseRedirect '接受不同的論點)。而且,它根本不回答這個問題。 –