2016-05-01 7 views
0

私はCordovaクライアント(スマートフォン)側とDjangoバックエンドを持つアプリケーションを作成しています。 Djangoバックエンドは別のAPI(League of Legends API)からデータを取得し、Python関数を含むPythonファイルで処理します。アプリケーションを高速に保つために、jQuery MobileのTastypieとAJAXを使用しています。だから、基本的には:Tastypie APIリクエストで関数を実行するには?

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

私は、データを投入し、データベースから取り出すことができるように、すべてがセットアップされているが、これは私がこれまで行うことができ、すべてのです。

私は、AJAXクライアントのリクエストに応じて、LoL APIからデータを取得し、データ処理機能を実行してデータベースに追加し、処理したデータをクライアントに返すことを計画しています。 これは「noobish」の質問かもしれませんが、誰かがTastypie APIにアクセスするたびにこの特定の機能をどのように実行できますか?そして、この関数をどこで呼び出すべきですか?おそらくapi.pyファイルにありますか?

答えて

0

正確に何をしたいかに応じて、api.pyまたはmodels.pyでこの機能を実行できます。

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.pyLolResourceを追加することを忘れないでください:

以下の例では、URL /lol/でポストをすれば機能を実行する例を示します。

+0

ああ、大丈夫です。私は私の人生を楽にするためにフラスコを使用するだけで終わったが、応答に感謝! – Bocaj

関連する問題