問題タブ [django-rest-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1135 参照

django - djangorestframeworkを使用したHTTPSPUTリクエスト

djangorestframework(DRF: http ://django-rest-framework.org/ )ビューを使用して、HTTPSPUTリクエストをRESTfulAPIDjangoWebサービスに送信しようとしています。Djangoのクロスサイトリクエストフォージェリ(CSRF)保護のため、これを機能させることができません。

PUT要求は、認証されていないユーザーがリソースを追加できるようにすることを目的としています。

私が検討/試行したこと:

  1. CSRFの無効化-受け入れられません。APIは、非APIサービスと同じDjangoインスタンスで実行されます。CSRF保護を無効にすることはリスクが大きすぎます。
  2. X-Requested-With: XMLHttpRequestPUTリクエストのヘッダーを使用します(私はクライアントを制御します)。動作しません-それでもCSRFエラーが発生します。
  3. @crsf_exemptPUTビューでデコレータを使用します。できれば、フレームワークはビューではなくクラスを定義します。

私の現在の最善のオプションは、DRFのViewクラスを使用せずに自分でPUTビューを作成することです。@crsf_exemptこれで、デコレータを正常に使用できます。

DRFのViewクラスを使用したいのですが、その方法がわかりません。あなたはできる?

0 投票する
1 に答える
3600 参照

django - jsonを使用してdjangorestframeworkで画像をimagefieldにアップロードし、これをCURLでテストします

djangorestframework でいくつかの API を作成しました。これにより、コマンドラインのcurlと同様に、APIのhtml形式で両方をテストできました。

これで、フィールドの 1 つが ImageField であるモデルへの API ができました。

使用する curl コマンドがわかりません。json 形式の fot post アクションの前に使用した構文を使用すると、次のようになります。

ただし、この場合、写真は保存されず、空のままになります (写真はオプションのフィールドです)。

追加する-T /home/michel/test.jpg と、127.0.0.1:800/api/v1/test.jpg が URL として存在しないというエラー メッセージが表示されます。

djangorestframework のテスト html 形式では、すべて正常に動作します。

オプションを使用する-Fと、一度に 1 つのリクエストしか実行できないと表示されます...また、data-binary からデータ型を削除しました

画像とjsonの他のデータの両方を1つのコマンドで使用して、このcurl投稿を作成する方法を教えてください。

0 投票する
1 に答える
317 参照

python - URLを使用して指定されたモデルをロードするDjango Rest Framework

一般的なURL設定を使用して、djangoのすべてのモデルにdjango restインターフェースを実装することは可能ですか?

したがって、モデル構成ごとの代わりに:

より一般的なタイプのローディング:

システムがモデルを生成し、残りのインターフェイスにレンダリングできるようにするもの。

0 投票する
1 に答える
11822 参照

java - processbuilderを使用してJavaからcurlを実行します

djangoのrestfullapiへの接続をテストするためにJavaでテストポーグラムを書いています(正確にはdjangorestframework)。オプションの1つは、curlを使用してAPIをテストすることです。シェルからcurlコマンドを実行すると、正常に機能します。例:

これにより、APIルートのURLとヘルプテキストがjson形式で適切に返されます。

ProcessBuilderを使用してJavaから同じものを呼び出そうとすると、次の答えが得られます。

私が使用しているJavaコードは次のとおりです。

エラーストリームも次のようにキャッチするためです。

オプションの1つを間違えると、curlヘルプテキストが表示されるため、彼がcurlコマンドを開始したことはわかっています。

私はそれを呼び出すことの違いが何であるかわからない、それが同じコマンドであることをかなり確信している。

ちなみに、'getApiRootUrlString()'は正しいURLを返します。http://127.0.0.1:8000/api/v1/

0 投票する
3 に答える
2171 参照

jsonp - django-rest-framework での jsonp の使用

django rest フレームワークのリリース ノートでは、JSONP サポートが 0.3.0 で追加されたと主張しています。フレームワークに JSONPRenderer クラスも見つかりました。ただし、その使用方法に関するドキュメントが見つからないようです...私はjsonpにかなり慣れていません。

django rest フレームワークで jsonp をうまく使用した人はいますか?

0 投票する
3 に答える
50465 参照

django - django-rest-framework の管理者スタイルのブラウズ可能なインターフェイスを無効にするには?

私はdjango-rest-frameworkを使用しています。素晴らしい Django 管理者スタイルのブラウズ可能な自己文書化 API を提供します。しかし、誰でもこれらのページにアクセスし、インターフェースを使用してデータを追加 (POST) することができます。どうすれば無効にできますか?

0 投票する
1 に答える
1623 参照

django - ファイル エラーのある Django REST Framework POST データ (ModelResource を使用)

Django REST Framework アプリでファイルを使用してデータを投稿しようとすると、非常に大きな問題が発生します。djangorestframework Web サイトの例を使用して、簡単なアプリケーションを作成しました。だから私はurlsファイルを持っています:

そしてurlpattersで:

Image モデルは単純です。

ブラウザで REST ページをテストすると、完璧に動作します。ファイル付きのデータを投稿することもできます。

私の問題は、データを投稿するための単純な python アプリケーションを作成したいということです。シンプルな urllib2 を使用しましたが、500 Internal Error または 400 Bad Request が発生します。

MultipartPostHandler でも試しました:

ただし、同じ: 500 または 400 エラーが発生し、サーバー (python manage.py runserver) が次のエラーで停止します。

誰かが持っている場合は、ファイルを使用してデータを投稿する例を教えてください。または、Python コードを投稿する際に何が問題なのか教えてください。これ以上の例は見つかりませんでした。

サーバーは問題ないようです。ブラウザでデータを POST できます。どうもありがとうございました。

0 投票する
0 に答える
342 参照

facebook - REST 経由で Django バックエンドにアクセスするモバイル アプリの Facebook 認証

Titanium Mobile に基づいたモバイル アプリを開発しており、FaceBook 経由でユーザーを認証するFB モジュールを使用しています。ここで、Django Rest Frameworkで実装されたこのモバイル アプリケーション用の Web サービスも実装します。

ユーザーがFaceBookで認証されると、モバイルアプリもDjangoバックエンドで認証できるように、これを安全に実装する最善の方法を考えています。

0 投票する
1 に答える
2941 参照

python - 「BlogPostResource」オブジェクトには属性「request」がありません

私は Django REST Framework を学んでおり、この例に取り組んでいます。

http://django-rest-framework.org/examples/blogpost.html

しかし、開こうとするとこのエラーが発生しますhttp://localhost:8000/blog-post/

これらは例からの私のファイルです:

resources.py

models.py

urls.py

0 投票する
2 に答える
5327 参照

django - Django Restフレームワークのシリアライザーは、深さ2の外部キーを除外します

オブジェクトをjsonデータとして返すAPIを作成しました。私はdjango-rest-frameworkとそのシリアライザーを使用しています。リソース (ModelResource) を使用して、「所有者」と呼ばれるプロパティなど、いくつかのフィールドを除外しました。フィールドの 1 つは、それ自体に対する外部キーです。このフィールドを API で表示したい (したがって、depth=2 を使用します) が、返されるオブジェクトで除外したのと同じフィールドを除外したいと考えています。これを行う良い方法はありますか (私はいくつかのことを試しましたが、望ましい結果は得られませんでした)。

これは私の(簡略化された)コードです:models.py内:

resource.py で:

オブジェクトを返すために使用されるビューでは、次のように返されます。

応答では、除外フィールドが省略されています(私が望んでいたように)。

しかし、フィールドparentでは、非表示にしたいすべてのフィールドを持つ親myobjectです。

この親オブジェクトに対して、シリアライザーが同じリソースを使用するか、二次フィールドを除外リストに追加する必要があることを示す方法を探しています....

depth =1 を使用すると、親 ([]) があるかどうかのみが表示され、ない場合は null が表示され、少なくとも親の ID を知る必要があります。