Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript django角度,显示伺服侧错误_Javascript_Python_Django_Angularjs - Fatal编程技术网

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);
   }
 );