Отправить запрос в Эмбердж с отдыхом Джанго - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь сделать несколько грубых приложений Мой бэкэнд - это 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'
});

любой, кто может помочь выбраться из этого .. Я использую свою резервную структуру django rest. Я попробовал мой резервный код в post man, он работает хорошо, но когда я использую с ember, я не могу опубликовать форма запроса на стороне клиента

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

Убедитесь, что ваш бэкэнд принимает тип контента application/vnd.api+json, вам нужно установить заголовок.

0 голосов
/ 11 мая 2018

Я использую этот точный стек и точно знаю, в чем ваша проблема (я думаю).

Это вообще не угасающая проблема (я верю). Я полагаю, что вы, возможно, неправильно настроили ваши настройки Django-Rest-Framework.

В вашем файле settings.py (или как вы его настроили) ваш REST_FRAMEWORK dict должен содержать следующие записи:

REST_FRAMEWORK = {
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
        'rest_framework.parsers.FormParser',
        'rest_framework.parsers.MultiPartParser'
     )
}

Я бы также настоятельно рекомендовал использовать JSON: API для форматирования вашего API. https://github.com/django-json-api/django-rest-framework-json-api

0 голосов
/ 09 мая 2018

Мое понимание заключается в том, что emberjs работает с форматом запроса / ответа jsonapi.org. Взгляните на DJA (Django REST Framework JSON API) , который дополняет Django REST Framework.

Существует несколько активных PR и проблем с расширением с DJA для реализации некоторых более продвинутых функций JSON API в случае, если вы что-то упустили ...

...