在Emberjs发布请求,Django休息

时间:2018-05-09 09:26:37

标签: ember.js django-rest-framework

我正在尝试做一些crud应用程序 我的后端是Django Rest Framework前端我使用的是Emberjs

我无法执行发布请求我在此处获得不受支持的媒体错误是我的代码



//model js customer.js

import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string'),
  company: DS.attr('string'),
  title: DS.attr('string')
});


//route customer.js

import Route from '@ember/routing/route';

export default Route.extend({
  model(params){
    return Ember.RSVP.hash({
      customers: this.store.findAll('customers'),
    })
  },
  actions:{
    saveCustomer(){
      let customer = this.store.CreateRecord('customers',{
        name: this.getProperties('name'),
        company: this.getProperties('company'),
        city: this.getProperties('cist'),
      })
      customer.save();
    }
  },
});


//template customers.hbs

<table>
  <tr>
    <th>Name</th>
    <th>Company</th>
    <th>City</th>
  </tr>
  {{#each customers as |customer|}}
     <tr>
       <td>{{customer.name}}</td>
       <td>{{customer.company}}</td>
       <td>{{customer.city}}</td>
     </tr>
   {{/each}}
</table>
{{#paper-form onSubmit=(route-action "saveCustomer") as |form|}}
  <div class="layout-row">
    <div class="layout-column flex-50">
      {{form.input label="Full Name" value=name onChange=(action (mut name)) required=true}}
      {{form.input label="company" value=company onChange=(action (mut company))}}
      {{form.input label="city" value=city onChange=(action (mut city))}}
    </div>
  </div>
  <div class="layout-row">
    {{#form.submit-button raised=true primary=true}}Submit{{/form.submit-button}}
  </div>
{{/paper-form}}


// adapter application.js

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
  namespace: 'api/v1',
  host: 'http://localhost:8000'
});
&#13;
&#13;
&#13;

任何一个可以帮助摆脱这个的人..我正在使用我支持的django休息框架。我在帖子中尝试了我支持的代码它运行良好但是当我使用ember时我很高兴无法在客户端发布请求

2 个答案:

答案 0 :(得分:2)

我的understanding是emberjs使用jsonapi.org请求/响应格式。看看DJA (Django REST Framework JSON API),它增加了Django REST Framework。

有一些活跃的PRsenhancement issues与DJA一起实施一些更高级的JSON API功能,以防您遗漏某些内容....

答案 1 :(得分:1)

确保您的后端接受内容类型application/vnd.api+json,您需要设置标题。