我正在使用django-angular
在單個頁面應用程序上執行基本的CRUD操作。我有一堆我需要在該頁面中集成的表單。django-angular,顯示servor端錯誤
我用下面的mixin:
from djangular.forms import NgModelFormMixin, NgFormValidationMixin
from djangular.styling.bootstrap3.forms import Bootstrap3FormMixin
class AngularFormMixin(Bootstrap3FormMixin, NgModelFormMixin, NgFormValidationMixin):
pass
有以下形式:
class MyModelForm(AngularFormMixin, forms.ModelForm):
scope_prefix = 'dj_my_model'
form_name = 'my_model_form'
class Meta:
model = MyModel
fields = ('field1', 'field2',)
def clean(self, *args, **kwargs):
... some cleaning here
都伴隨着以下幾種觀點:
from djangular.views.crud import NgCRUDView
class MyModelCRUDView(NgCRUDView):
model = MyModel
fields = ('field1', 'field2',)
def get_form_class(self):
return MyModelForm
最後,在html:
<form name="{{ form.form_name }}" novalidate>
{{ form.as_div }}
<input type="submit" class="btn btn-primary" ng-click="myModelSubmit({{ form.scope_prefix }})" ng-disabled="{{ form.form_name }}.$invalid" value="Submit">
</form>
角部分是:(爲MyModel從工廠推出)
function myModelSubmit(my_model) {
var new_model = new MyModel(my_model);
new_model.$save(function(){
$scope.mymodels.push(new_model);
});
}
但是,當後失敗,得到了一個響應碼400,用於我的帖子,我不能在窗體上顯示錯誤消息。我如何將響應與我的django表單綁定來顯示錯誤消息?我讀過我可以爲某些領域創建指令,但在這裏似乎很瘋狂,我有很多自定義驗證的表單。
請注意,提供的代碼不再是好的(在問題中)與最新版本的django-angular。你應該看看dango-angular doc(特別是mixin)。 – abrunet 2015-09-21 10:51:15