2016-12-02 4 views
0

サーバ上で、私はデータベースを持つDjangoアプリケーションを持っています。 クライアントでは、httpsを介してサーバーにデータを送信し、サーバーがそのデータをデータベースに挿入するPythonスクリプトを作成しています。Web APIを使用してdjangoアプリケーションデータベースにデータを挿入する方法

どのようにこの問題にアプローチする必要がありますか? 私はサーバーとクライアントの両方を管理しています。 これを行う理由は、データをデータベースに挿入するAPIを持つためです。

答えて

1

Pythonスクリプトからバックエンドにデータを送信できます。もちろん、Djangoで定義されたAPIを用意する必要があります。しかし、あなたは、単にスクリプトからデータを送信するために素晴らしいrequestsライブラリを使用することができますあなたはすでにそれを持っていると仮定すると:

>>> r = requests.get('http://localhost:8000/v1/api/resource?param1=12&param2=blabla') 

するか、使用してPOST:

>>> payload = {'key1': 'value1', 'key2': 'value2'} 

>>> r = requests.post('http://localhost:8000/v1/api/resource', data=payload) 

をバックエンドは、(あなたがいる場合は、それを受け取ることになりますDjangoを使用してViewで処理する必要があります。おそらくORMを使用して値を格納します)。 Viewに値が表示されない場合は、ファイルurls.pyに定義されているAPIが正しく構成されていない可能性があります。

+0

許可されていないユーザーがデータを挿入してサーバー上のすべてのストレージスペースを使い切ることはできませんか? – Flux

+0

インターネット上に置く予定があり、ローカルで使用するだけのものではない場合は、認証メカニズムを設定する必要があります。このような単純なアプリケーションでは、Djangoによって検証されたPOSTによってトークンを渡すことができます。この方法では、そのトークンの要求だけがその情報を格納することができます。 – javidgon

関連する問題