我计划很快创建一个由我的tastypie api服务的ember.js应用程序,此刻我正试图进入ember但是我被卡住了!
我创建的ember应用程序(如教程视频中包含夹具数据)工作正常,但现在我正在尝试从夹具切换到我的API,这就是我的问题开始的地方:
这是我想要为这个简短的测试显示的django模型:
class New(models.Model):
date = models.DateField("Erstellt am", auto_created=True, auto_now_add=True)
title = models.CharField("Titel", max_length=250)
content = models.TextField("Inhalt")
def __unicode__(self):
return self.title + ', ' + self.date.strftime('%d.%m.%Y')
这是我的ModelResource:
class NewResource(ModelResource):
class Meta:
queryset = New.objects.all()
resource_name = 'new'
always_return_data = True
def determine_format(self, request):
return 'application/json'
这是我打开http://127.0.0.1:8000/v1/new/
时得到的:
{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 2}, "objects": [{"content": "Lorem Ipsum Dolorem", "date": "2013-09-27", "id": 1, "resource_uri": "/app/new/1/", "title": "Test"}, {"content": "Lorem Ipsum Dolorem", "date": "2013-09-27", "id": 2, "resource_uri": "/app/new/2/", "title": "This is a test title"}]}
这是我的app.js文件:
App = Ember.Application.create();
App.Router.map(function() {
this.resource('news');
});
App.store = DS.Store.create({
revision: 7,
adapter: DS.DjangoTastypieadapter.extend({
serverDomain: "http://127.0.0.1:8000",
namespace: "v1"
})
});
App.New = DS.Model.extend({
date: DS.attr('string'),
title: DS.attr('string'),
content: DS.attr('string'),
});
App.NewsRoute = Ember.Route.extend({
model: function() {
var news = App.New.find()
return news;
}
});
这是我的车把:
<script type="text/x-handlebars" id="news">
<div class="row">
<div class="col-md-2">
{{#each}}
{{#link-to 'new' this}}
{{title}} // {{date}}
{{/link-to}}
<hr>
{{/each}}
</div>
<div class="col-md-10">
{{outlet}}
</div>
</div>
正如我所说,夹具数据与我从API获得的JSON对象具有相同的形式,但是当我这样做时没有显示内容。 (我的index.html中包含了ember-data-tastypie-adapter文件)有人可以帮帮我吗?