問題タブ [tastypie]

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 投票する
2 に答える
4232 参照

django - django-tastypie を使用して認証を行う例が必要です

私はDjangoに比較的慣れていませんが、それはエコシステムです。django-tastypie を使用して、モバイル クライアント用の REST API を作成しています。私は、REST インターフェースを作成するために Tastypie を使用する方法について、Web 上のほとんどすべての例を見てきました。ただし、クライアントからのデータの POST と、クライアントの承認方法に固有のものはありません。

例に示すように、tastypie.authentication.BasicAuthentication を使用しました。ユーザー名とパスワードを尋ねるポップアップが開き、ブラウザで正常に動作します。しかし、モバイルで同じことを行うかどうかはわかりません(具体的には、ネイティブIOSアプリ)。ユーザーがブラウザではなくネイティブアプリを使用している場合、ユーザーがモバイルデバイスにこのポップアップがどのように表示されるかをログイン要求するタイミングがよくわかりません。

私はこれについて完全に迷っています。本当に助けていただければ幸いです。

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

django - Tastypie の URL Conf のカスタマイズ

API を Piston から TastyPie に移植しています。既存のクライアントがあるため、API の URL 構造を同じに保ちたいと考えています。

私のサイトの最上位の u​​rls.py conf は次のようになります。

Piston を使用すると、すべての個々のリソースが個別に api.urls に登録され、urlpatterns に追加されるため、たとえば /v1/deals/ が表示される場合があります。

現在、この構造を TastyPie で再作成する際に問題が発生しています。その最上位で、Tastypie Api() オブジェクトの urlpatterns は、「api_name」と呼ばれるキャプチャ グループを想定しています。デフォルトでは、v1 は最上位パターンとしてハードコーディングされていますが、Api() をインスタンス化するときに「api_name」をキーワード引数として渡すことでオーバーライドできます。

私の現在の api.urls.py は次のようになります(tastypieを使用):

)

その結果、API で一致するパターンは「/v1/v1/[resource_name]/」になりました。

1 つの問題は、トップ レベルの URL conf から ^v1/' を削除する方法がわからないことです。私たちのインデックス ページは '^$' に一致するため、そのルートに進むことはできません。

API オブジェクトではなく、個々のモデル リソースを登録するだけでよいと思います。しかし、それは次善のようです。私が間違っている?

また、Tastypie Api オブジェクトをサブクラス化し、「api_name」キャプチャ グループを削除することも検討しました。

何かご意見は?

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

django - Django-Tastypie: バンドル内の (Http)request オブジェクトにどのようにアクセスしますか?

Resource の dehydrate メソッドで HttpRequest オブジェクトにアクセスする必要があります。

ドキュメントでは、bundle.request が有効な属性であることを示しています (resources.html ページにあります)。コードに追加しようとすると、Bundle オブジェクトに属性「request」がないというエラーが表示されます。何を与える?

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

python - Django Tastypie で関連モデルからデータを返すにはどうすればよいですか?

別のモデルから情報を取り込むにはどうすればよいですか?

私は2つのモデルを持っていますArticle、そしてArticleBody

メイン情報を含む記事と、本文と画像情報のループを含む ArticleBody

API resources.py ファイルで、ArticleBody 情報を NewsResource に取得しようとしています...

これは私がこれまでに持っているものです。

TastyPIE の正しい変更方法は何ArticleBodyですかNewsResource?

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

python - TastyPie 認証 / カスタム レスポンス

Tastypie で APIKey 認証を使用する例はありますか。提供されている例では、実際にどのように機能するかについて詳しく説明していません。

また、投稿でカスタムメッセージを返すためのフックがある場所を見つけようとしてクックブックを調べていました。

たとえば、誰かがユーザーを作成しようとして投稿しましたが、そのユーザーは既に存在しています。私の hydrate_user(self, bundle) で: チェックを行うと思いますが、有用なエラー メッセージを返すにはどうすればよいですか?

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

python - フィールドを一意として扱うように Tastypie を構成するにはどうすればよいですか?

フィールドを一意として扱うように Tastypie を構成するにはどうすればよいですか? 一意としてマークされたフィールドに重複するエントリを挿入しようとすると、応答として何らかの非 500 エラー (おそらく 409 競合?) を受け取ることが予想されます。


私はドキュメントに目を通しましたが、それは私には明らかなように見えますが、何らかの理由で、私が期待する応答を得ていません.

ドキュメントのリンクは次のとおりです。

http://readthedocs.org/docs/django-tastypie/en/latest/fields.html?highlight=unique


サンプルコードは次のとおりです。

urls.py

resource.py

models.py


私が受け取ったエラーは次のとおりです(curlを使用してローカルサービスにアクセスします):

Company モデルから削除するとunique=True, db_index=True,、Integrity エラーは表示されませんが、代わりに新しい重複したリソースが作成されます。繰り返しますが、これは期待される結果ではありません。これは、何らかの検証を実行し、500 以外の応答を引き起こすことが一意であると予想されるためです。

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

iphone - REST API で関連データを取得する際のベスト プラクティス

そのため、他のリソースがリンクされているリソースがあるREST APIがあります(プログラミングの観点からは、関連するモデル)。

したがって、私が現在行っている方法は、リソースを要求するたびに、関連するリソースが URL (「/related_data/related_data_id/」) を介して参照されるということです。

ただし、取得しているリソースに関連するリソースが 5 つあるとすると、5 つの GET 要求を実行することになります。私は iPhone クライアントを作成していますが、これが REST を使用して適切に行う方法であるかどうか疑問に思っています (URL を返す)。サンプルの JSON 応答は次のとおりです。

「各 URI はリソースにマップする必要がある」などのことを考えると、これは REST で適切な方法ですか?

私はDjangoとdjango-tastypieを使用しています

前もって感謝します!

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

iphone - Twitter、Tastypie、Django、XAuth、および iOS を機能させて Django ベースのアクセス許可を構築する

Django REST アプリケーションによって提供されるアクセス許可に基づいて機能する iOS アプリケーションを構築します。

Django は、iOS アプリでのアクティビティのアクセス許可を管理します。ユーザー A は、許可されていれば作業 A を行うことができます。アクセス許可は、ASIHTTPRequest を介して、Django Tastypie が提供する REST API に照会されます。

登録はありません。ユーザーは Twitter 経由でのみログインできます。XAuth は、ユーザーにログイン画面を表示するために使用されます。

ユーザーには 2 種類あります。例として、タイプ 1 とタイプ 2 があります。タイプ 1 は、iOS アプリでデータを閲覧することしかできない一般ユーザーです。

タイプ 2 ユーザーは、データを送信/編集できます。

理論的にはそれだけです。しかし...どこから始めたらいいのかわからない!!

最大の障害:

Twitter XAuth を Tastypie 経由で Django のユーザー バックエンドにフックするにはどうすればよいですか?

これがわかっている場合は、必要なアクセス許可を照会できます。

前もって感謝します!

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

python - << try >> で例外がキャッチされないのはなぜですか?

例外から Python (Django) 単体テストが失敗しましたが、失敗したコードはその例外用に記述された try / except ブロックにあります。同様のブロックは、例外が直接発生したときに例外を処理します。

これは合格します:

これは、その直後に失敗します。

トレースは次のとおりです。

トレースによると、 << ImmediateHttpResponse >> 例外が発生するため、dispatch_list() 呼び出しは失敗します。ただし、そのような例外を try ブロックに配置しても、同様のエラーは発生しません。

try / except ブロックが 1 つの例外を処理し、もう 1 つの例外を処理しないのはなぜですか?

テスト コードは、期待どおりに実行されるライブラリのテスト コードからコピーされていることに注意してください。(ライブラリ テスト コードを使用して、実装の失敗を診断しています。)