给我一个作业,其中我必须使用Django技术创建应用程序API(REST)。我只需要能够从多个模型中读取(获取)条目,将它们加入并使用JSON格式(一个或多个对象)返回它们。 我已经给出了json模式和适当的json文件的示例。
由于这是我第一次创建API,并且我对Django不太熟悉,所以请您提供一些指导。
我用Google搜索了两个最受欢迎的框架:
如我所见,这两个使您能够快速为应用程序设置API。但是我可以使用其中一种创建自定义JSON格式,还是有另一种方法呢?
最佳答案
使用Tastypie:-
models.py
class User(Document):
name = StringField()
api.py
from tastypie import authorization
from tastypie_mongoengine import resources
from project.models import *
from tastypie.resources import *
class UserResource(resources.MongoEngineResource):
class Meta:
queryset = User.objects.all()
resource_name = 'user'
allowed_methods = ('get', 'post', 'put', 'delete','patch')
authorization = authorization.Authorization()
url.py
from tastypie.api import Api
from projectname.api import *
v1_api = Api(api_name='v1')
v1_api.register(UserResource())
Javascript(jQuery)
这个例子是一个GET请求:
$(document).ready(function(){
$.ajax({
url: 'http://127.0.0.1:8000/api/v1/user/?format=json',
type: 'GET',
contentType: 'application/json',
dataType: 'json',
processData: false,
success: function(data){
alert(data)
//here you will get the data from server
},
error: function(jqXHR, textStatus, errorThrown){
alert("Some Error")
}
})
})
对于POST请求,将类型更改为
POST
并以正确的格式发送data
有关更多详细信息,请参见Tastypie docs。