gpt4 book ai didi

python - 为 Django 应用程序创建 REST API

转载 作者:IT老高 更新时间:2023-10-28 22:12:03 24 4
gpt4 key购买 nike

我被分配了一项任务,我必须使用 Django 技术创建一个应用程序 API (REST)。我只需要能够从多个模型中读取 (GET) 条目,加入它们,然后使用 JSON 格式(一个或多个对象)返回它们。 json 架构和相应 json 文件的示例已经提供给我。

由于这是我第一次创建 API,而且我对 Django 不是很熟悉,所以我想请您提供一些指导。

我搜索了两个似乎最受欢迎的框架:

正如我所见,这两个使您能够为您的应用程序快速设置 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

关于python - 为 Django 应用程序创建 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17577177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com