Javascript Django tastypie和主干专辑应用程序?
我正在django中构建一个专辑应用程序,我有两个django模型Javascript Django tastypie和主干专辑应用程序?,javascript,django,backbone.js,tastypie,Javascript,Django,Backbone.js,Tastypie,我正在django中构建一个专辑应用程序,我有两个django模型 class Album(models.Model): name = models.CharField(max_length=100) family = models.ForeignKey(FamilyProfile) created_by = models.ForeignKey(User) created_date = models.DateField(default=datetime.datet
class Album(models.Model):
name = models.CharField(max_length=100)
family = models.ForeignKey(FamilyProfile)
created_by = models.ForeignKey(User)
created_date = models.DateField(default=datetime.datetime.now())
class Image(models.Model):
album = models.ForeignKey(Album)
name = models.CharField(max_length=100,null=True,blank=True)
src = models.ImageField(upload_to=MEDIA_ROOT)
upload_by = models.ForeignKey(User)
upload_time = models.DateTimeField(default=datetime.datetime.now())
并将tastypir用于RESFull api
我有两个收藏
album.albumCollection = Backbone.Tastypie.Collection.extend({
url:'/album/v1/album/',
model:album.albumModel,
})
image.imageCollection = Backbone.Tastypie.Collection.extend({
url:'/album/v1/image/',
model:image.imageModel,
})
骨干路由器
album.router = Backbone.Router.extend({
routes:{
'':'album',
'test/:id':'openAlbum',
},
album:function(){
this.albums = new album.albumCollection()
this.albumsView = new album.albumCollectionView({model:this.albums})
this.albums.fetch({reset: true})
},
openAlbum:function(id){
this.images = new image.imageCollection()
this.imagesView = new image.imageCollectionView({model:this.albums})
this.images.fetch({reset: true})
}
})
new album.router();
Backbone.history.start();
我可以渲染相册,但是当我尝试打开相册时,正如您所看到的,我需要通过相册的id获取图像集合,但是imageCollection.url是静态的
如何获取具有主干和Tastype的相册中的图像?在图像Tastype资源的相册字段上设置,并更改url以按相册过滤图像:
openAlbum:function(id){
this.images = new image.imageCollection()
this.images.url = this.images.url + "?album=" + id;
this.imagesView = new image.imageCollectionView({model:this.images})
this.images.fetch({reset: true})
}
Tastypie可以用数据库中的任何数据响应,甚至是关系数据库,你可以发送json,比如{album_id:{images:[{url:'',title:'',etc},…]}}当然可以,但是如何获取album[id]的图像我的意思是如何编写imageCollection url来获取album[id]/api/v1/album/[id]中的所有图像?现在如何在Tastypie中获取?album=id,我的url是(r'^',include(v1_api.url)),?album=id是一个get参数,它不涉及url架构