Javascript django角度,显示伺服侧错误
我使用Javascript django角度,显示伺服侧错误,javascript,python,django,angularjs,Javascript,Python,Django,Angularjs,我使用django angular在单页应用程序上执行基本的CRUD操作。我有一大堆表格需要整合到页面中 我使用以下mixin: from djangular.forms import NgModelFormMixin, NgFormValidationMixin from djangular.styling.bootstrap3.forms import Bootstrap3FormMixin class AngularFormMixin(Bootstrap3FormMixin, NgMod
django angular
在单页应用程序上执行基本的CRUD操作。我有一大堆表格需要整合到页面中
我使用以下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>
但是当post失败时,我的post会收到一个响应代码400,并且我无法在表单上显示错误消息。如何将响应与django表单绑定以显示错误消息?我读到我可以为一些字段创建指令,但这看起来很疯狂,我有很多表单,有很多自定义验证 好的,连评论都没有。但我找到了自己的答案。您需要在保存中添加一个错误回调,如下所示:
new_inputfile.$save(
function(){
// success callback
},
function(data) {
djangoForm.setErrors(
$scope.my_form, data.data.detail);
}
);
您需要在依赖项中添加DjangForm。这一点在文档中没有详细说明,但通过示例不时提到。Cheers guyz请注意,提供的代码在最新版本中不再适用(问题中)。你应该看看dango医生。(特别是对于mixin)请注意,提供的代码不再适用于最新版本的django angular。你应该看看dango angular文档(特别是对于mixin)。
new_inputfile.$save(
function(){
// success callback
},
function(data) {
djangoForm.setErrors(
$scope.my_form, data.data.detail);
}
);