Django 多个Backbonejs请求以获取相关模型数据

Django 多个Backbonejs请求以获取相关模型数据,django,django-models,backbone.js,tastypie,Django,Django Models,Backbone.js,Tastypie,我使用这两种资源(使用tastypie)构建了一个RESTful API: 现在,当我访问/api/v1/albums/1时,我得到以下结果: { "album": ["/api/v1/albums/4/", "/api/v1/albums/5/"], "photographer_name": "Jimi Hendrix", "photographer_thumbnail": "http://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Ka

我使用这两种资源(使用tastypie)构建了一个RESTful API:

现在,当我访问
/api/v1/albums/1
时,我得到以下结果:

{
"album": ["/api/v1/albums/4/", "/api/v1/albums/5/"],
"photographer_name": "Jimi Hendrix",
"photographer_thumbnail": "http://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Katatonia_in_2004.jpg/300px-Katatonia_in_2004.jpg",
"biography": "Jimmi Hendrix is an awesome musician man...",
"id": "1",
"page_link": "http://ahmetkaya.com/",
"resource_uri": "/api/v1/artists/1/",
"slug": "jimi-hendrix"
}
现在,在我的前端Backbonejs中,当我想要获取摄影师的相册时,我必须创建一个
相册
对象,
从服务器获取数据以在视图中渲染它。现在我的问题是,这种方法(向服务器发送许多请求)是否会降低页面加载速度并对用户体验和应用程序性能产生负面影响?有没有更好的方法来设计我的资源之间的关系?
或者,用处理
save
fetch
的Django视图替换RESTful API更好,还是这不是“正确”的方法?我希望在学习时遵循约定和最佳实践,但Backbonejs似乎没有约定


谢谢

在主干端,您可以创建一个相册集合,并将其url设置为/api/v1/albums,然后对集合调用fetch。这将在一个http请求中提取所有相册。如果您需要通过/api/v1/albums/byname/jonathancoulton或/api/v1/albums/bytitle/codemonkey等提供过滤,url也可以是一个函数。如果您经常使用此功能,我还为收藏设置了自定义获取功能

`我必须创建一个相册对象,从服务器获取数据以在视图中呈现它。`是的,这会减慢速度,但关键是。用户不会对看到所有相册照片感兴趣,是吗?就在他演奏名单上的那首时。你必须实现聪明的用户界面,用户必须在两个视图之间切换才能查看艺术家和照片哈哈!但是如何在资源中进行过滤呢?顺便说一下,我对Tastypie还不熟悉。这种方法听起来很理想,但获取所有相册不是一个好主意,假设我有2000张相册,soo..我不知道Tastypie,但在django中,您可以在URL.py文件中设置路由。它应该类似于设置/api/{version}/albums/{id}路由的方式/api/{version}/albums/byname/{name}。但是用视图替换REST api是个好主意吗?对我来说,它更容易操作,但我不确定Backbone.js是否“允许”我这么做。Backbone非常灵活。这就是为什么用于抓取的url属性可以是字符串或返回字符串的函数。我个人认为资源提供的其余部分是脚手架。它的工程为80%,但有时我需要更多的是什么提供。就我所知,我可以保留其余部分,为“特殊”情况添加Django视图?因为我可以随时更改模型/集合的url?
{
"album": ["/api/v1/albums/4/", "/api/v1/albums/5/"],
"photographer_name": "Jimi Hendrix",
"photographer_thumbnail": "http://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Katatonia_in_2004.jpg/300px-Katatonia_in_2004.jpg",
"biography": "Jimmi Hendrix is an awesome musician man...",
"id": "1",
"page_link": "http://ahmetkaya.com/",
"resource_uri": "/api/v1/artists/1/",
"slug": "jimi-hendrix"
}