如何 运行 使用 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.py
或 models.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
。
我正在创建一个具有 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.py
或 models.py
中使用此功能,具体取决于您想做什么。
下面的示例显示了一个 运行 函数的示例,如果您在 url /lol/
:
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
。