如何 运行 使用 Tastypie API 请求的功能?

How to run a function with Tastypie API request?

我正在创建一个具有 Cordova 客户端(智能手机)端和 Django 后端的应用程序。 Django 后端将从另一个 API(英雄联盟 API)检索数据,并在包含 python 函数的 python 文件中处理它。为了保持应用程序的快速运行,我使用了 jQuery Mobile 的 Tastypie 和 AJAX。所以基本上:

Django + Tastypie API ---JSON--> Cordova + AJAX

我已设置好所有内容,以便可以将数据放入数据库和从数据库中取出数据,但这就是我目前所能做的。

我的计划是能够从英雄联盟中检索数据API,运行数据处理功能,将其添加到数据库中,return处理后的数据到客户——全部应 AJAX 客户的要求。 这可能是一个 'noobish' 问题,但是每次有人访问我的 Tastypie API 时我如何 运行 这个特定的功能?应该在哪里调用这个函数? 也许在 api.py 文件中?

您可以 运行 在 api.pymodels.py 中使用此功能,具体取决于您想做什么。

下面的示例显示了一个 运行 函数的示例,如果您在 url /lol/:

处执行 post
from tastypie.resources import ModelResource
from tastypie.utils import trailing_slash


class LolResource(ModelResource):

    class Meta:
        resource_name = 'lol'
        allowed_methods = ['post']  # note that this resource just accept posts

    def base_urls(self):
        return [
            url(r"^(?P<resource_name>%s)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('lol_api_function'), name="api_lol_api_function"),
        ]

    def lol_api_function(self, request, **kwargs):
        # you function
        pass

不要忘记在 urls.py 处添加 LolResource