問題タブ [django-piston]

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 に答える
576 参照

django - django-piston: DELETE ハンドラ内での request.data の可用性

django-piston は、ハンドラー フェーズに到達する前に、リクエスト オブジェクトにデータ属性を作成するようです。このデータは、たとえば、request.data にアクセスすることにより、PUT および POST ハンドラーで使用できます。

ただし、DELETE ハンドラーでは、データは使用できません。

このデータを利用できるように django-piston を変更したいのですが、どこから始めればよいかわかりません。何か案は?データ属性の由来は?

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

file-upload - Django-ピストンファイルのアップロード

django-pistonとcurlを使用して、データベース内の特定の電話番号にファイルを投稿しています。しかし、ファイルのアップロードに問題があります。

これは、curlを使用した私の投稿応答です。

Handler.py:

助けてください!

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

django - ASIHTTPRequestを使用してdjango-pistonにファイルをアップロードする

ASIHTTPRequestを使用して、iPhoneからdjango-pistonを実行しているDjangoサーバーにJSONとバイナリファイルをPOSTしようとしています

JSON文字列のみを送信する場合に機能させる方法と、ファイルのみを送信する場合に機能させる方法を知っていますが、両方を実行するのは難しいです。

したがって、ASIHTTPRequestコードから始めます

ここでの私の最善のアイデアは、生の文字列データをPOST本文に直接追加してから、ファイルを追加するだけでは機能しないということです。

しかし、代わりに試してみると

次に、ピストンデータディクショナリは['save']を逆シリアル化されたオブジェクトではなく文字列として格納するため、文字通り文字列を配信します

これが私のピストンハンドラーコードです

アイデアは大歓迎です。

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

python - Django-Piston でのエラー処理

Django-Piston で、エラー処理を行う良い方法はありますか? (呼び出し元が必要な GET パラメーターを省略した場合、またはパラメーターが無効な場合に 400 ステータス コードを返すのと同じように。)

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

java - Django-Piston と Python クライアントと Java クライアントの比較

POST および GET 要求を許可する Django-Piston を使用して Web サービスを構築しました。テストの一環として、簡単な Python スクリプトを作成しました。スクリプトを使用すると、両方のタイプの要求を正常に実行できます。ただし、Java で記述されたクライアントが POST を実行しようとすると、エラーが発生します: "POST /api/service/ HTTP/1.1" 400 225 "-" "Apache-HttpClient/4.1 (java 1.5)"

私の理解では、どの言語によって生成される http 要求メッセージも同じでなければなりません。つまり、Python クライアントを使用して Web サービスをテストし、それが機能する場合、http ライブラリを持つ他のすべての言語で機能するはずです。

POST の Python コードは次のとおりです。

Javaコードは次のとおりです。

これはApacheの構成の問題だと思い始めています。POST のメソッドの開始時にいくつかのデバッグ ステートメントを挿入しましたが、まったくヒットしていません。これは、urls.py ファイルに何か問題があるか (Python で動作するので疑わしい)、または apache に何か問題があることを意味します。

助けてください。前もって感謝します。

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

python - Django-piston:app_label + model_nameを取得するにはどうすればよいですか?

組み込みのdjangoシリアライザーを使用する前は、モデルフィールドが追加されていました。

django-pistonを使用して同じモデルフィールドを取得するにはどうすればよいですか?

fields =('id'、'model')を試しましたが、うまくいきませんでした。

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

javascript - GreasemonkeyPOSTリクエストは常に400エラーを返します

urlconfが次のようなAPIを公開しているdjangoアプリケーションがあります。

url('^links/', linkhandler),

リンクハンドラーは、POST(Create関数)を以下に示したdjangoピストンリソースです。

上記はすべて問題なく、CURLを介してPOSTリクエストを実行すると、完全に問題なく機能します。たとえば、以下は機能する私のCURLリクエストです。

しかし、greasemonkeyスクリプトからこれを試してみると、常に400エラーが返されます:(

以下は、関連するグリースモンキースクリプトです

何が問題になる可能性がありますか?

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

python - Django-piston:クエリセットとリストを返すことの違いは?

私は自分の問題を説明するためにこの簡単なプロジェクトを作成しました。

これらは私のモデルです:

これは私のベースハンドラーです:

これは、クエリセットをリストに変換しない場合の結果です。

これは、リストに変換するとどうなるかですreturn list(qs)

私はspeakメソッドの結果を失いますが、リレーショナルIDと_stateオブジェクトを取得します。なぜこれが起こるのか、そしてどうすればそれを防ぐことができるのか誰かが説明できますか?これは、私の実際のプロジェクトを説明しようとする人を退屈させたくなかった単なるテストプロジェクトです。

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

python - django-pistonでlxml.objectify.ObjectifiedElementオブジェクトを読み取る方法は?

別の API を読み取り、別の形式で表示する django-piston API を作成しようとしています (XML のみの API を読み取り、JSON で表示します)。しかし、私がやっている方法は空の文字列であるため、問題が発生しています。

ここに私のハンドラがあります:

get_node 関数は、他の API からオブジェクトを取得する単なる関数であり、lxml オブジェクトです。

私の urls.py には次のものがあります。

そして、その URL にアクセスすると (get_node に直接与えられた適切な引数を使用して、正しいオブジェクトが得られます)、空の文字列が返されます。

それを機能させる方法は?

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

django - OAuthWebサービスとDjango-piston

Djangoでフィルターされたリソースアクセス(OAuth認証)を使用してWebサービスを実装しようとしていますが、いくつか質問がありました。

2つのWebサーバーを作成しました。

OAuthのバージョン1.0aを使用して、プロバイダーに対してコンシューマーを認証しようとしています。このプロトコルのワークフローについては、ここで説明します。

簡単に言うと、さまざまな手順(交換されるリソースの名前)は次のとおりです。

  1. コンシューマープロバイダーにトークンを要求します(キー、シークレット)
  2. コンシューマーが有効な場合、プロバイダーコンシューマーにトークンを返します(oauth_token、oauth_token_secret)
  3. コンシューマーは、ユーザーをプロバイダーにリダイレクトして、ログイン/アクセスを許可します(oauth_token)
  4. ユーザーは、リソースのコンシューマーへのアクセスを許可します。
  5. プロバイダーコンシューマーにトークンベリファイア(token_verifier)を提供します
  6. コンシューマーはaccess_token(key、secret、oauth_token、oauth_token_secret、oauth_verifier)を要求します
  7. プロバイダーコンシューマーにaccess_token(oauth_token)を提供します
  8. コンシューマーはoauth_tokenを使用してリソースにアクセスします

これが私の消費者の見解のコードです:

OAuthに関する一般的な質問

  • 消費者はいくつのトークンを持っている必要がありますか?1?ユーザーごとに1つ?リソースごとに1つ?
  • 消費者はトークンをどのように保存することになっていますか?
  • コンシューマーがトークンを使用してアクセスできるリソースをどのように指定しますか?コンシューマーは、ユーザーをサービスプロバイダーにリダイレクトするときに(ステップ3)、アクセスしたいリソースのIDを提供できるべきではありませんか?
  • コンシューマーが、ユーザーが過去にアクセスを許可したリソースにアクセスしたい場合、とにかくユーザーをサービスプロバイダーにリダイレクトする必要があります(そして、サービスプロバイダーがユーザーに許可を求める代わりに、oauth_verifierを即座に返すようにします) ?

技術的な問題

現在、トークンを保存するためにローカルメモリキャッシュセッションを使用していますが、機能しません。

  • コンシューマーサーバーでセッションがアクティブ化されると、ユーザーはサービスプロバイダーサーバーに毎回ログインする必要があります(既にログインしている場合でも)。
  • 最初のビュー(トークンのリクエスト)では、oauth_tokenoauth_token_secretをリクエストのセッションに保存します。(ユーザーをリダイレクトする前に)2番目のビューでアクセスしようとすると、機能します。しかし、最後のビュー(リダイレクト後)でアクセスしようとすると、アクセスしません(KeyError、辞書oauth_tokenに見つかりません)request.session

ありがとうございました!