2016-04-28 91 views
0

在我的表格形式,我得到了一個名爲Cform一類的子類,以ConstanceFormCform(ConstanceForm)重置通過設置變量

在我views.py

class ResetCView(FormView): 
    template_name = 'c.htm.jinja' 
    form_class = Cform 
    model = CModel 

    def form_valid(self.form): 
     form.cleaned['C_CODE'] = settings.C_CODE 
     form.save() 
     return HttpResponseRedirect(reverse('cview)) 

在我的模板:

<form method="post" action="{{url('c-reset')}}" name="form"> 
      <button>Reset</button> 
</form> 
<form method="post" action="{{url('c-view')}}" name="form"> 
      {{ form.as_p}} 
</form> 

我的問題是它沒有更新。表單總是無效的。我只想將表單或其數據庫值重置爲特定的數據。

+0

你可以發佈form.errors。如果它無效,那麼我們應該有這個。 – durdenk

+0

表單驗證成功後調用 – Sayse

+0

@Sayse,是的,先生,但有沒有辦法直接保存它。由於我的數據來自默認值。 – Bazinga

回答

0

可能爲您辦理最簡單的辦法就是在表單中添加一個乾淨的方法,即場和設置有

def clean_c_code(self): 
    self.cleaned_data['C_CODE'] = settings.C_CODE 
    return self.cleaned_data['C_CODE'] 

雖然

  1. 你真的需要它如果它始終具有相同的值,則表單總是具有相同的值(只需訪問該設置)
  2. 它可能不是一個好主意,設置應該與第一次運行服務器時相同