問題タブ [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 に答える
2340 参照

python - django-rest-frameworkチュートリアル4(認証と許可)の問題

チュートリアル1〜3をスムーズに終了した後、チュートリアル(http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html)に従い、「ユーザーモデルのエンドポイントの追加」までのセクションを終了しました。 。

(つまり、 "url(r'^ users / $'、views.UserList.as_view())、url(r'^ users /(?P [0-9] +)/ $'、views.UserInstanceを追加します.as_view())、 "完了しました。)

次に、「python manage.py runserver」のコマンドを使用してサーバーを実行し、ブラウザーhttp://127.0.0.1:8000/users/で次のエラーメッセージを表示しました。

(メッセージ開始)

/users/でのNameError

名前「ユーザー」が定義されていません

リクエスト方法:GET

リクエストURL: http://127.0.0.1:8000/users/

Djangoバージョン:1.4.3

例外タイプ:NameError

例外値:名前'ユーザー'が定義されていません

例外の場所:メタの/home/user/tutorial/snippets/serializers.py、14行目

(メッセージ終了)

私は何か見落としてますか?

私のserializer.pyのコードは次のとおりです。

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

django-rest-framework - djangoレストフレームワークチュートリアル4シリアライザーのコンセプト

http://django-rest-framework.org/tutorial/4-authentication-and-permissions.htmlでチュートリアル1-4を終了し、コードを実行しました。

しかし、私は周りの説明を完全には理解していません:

どのフィールドがどのフィールドを参照しているのか混乱しています。

1.たとえば、models.pyのSnippetクラスで定義された所有者フィールドがあります。https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkeyで調べた後ForeignKey()、クラスを返すと表示されます。auth.Userクラスを返しますか?

2.もしそうなら、「所有者」は何をしますか

参照する?のインポート部分に所有者が見つかりませんserializers.py

3.serializers.Field(source='owner.username')返品とは何ですか?auth.Userのユーザー名を返しますか?

4.対応するモデルに別のテーブルへのフィールド参照がある場合、対応するフィールドをシリアライザークラスに追加する必要がありますか?

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

django - DjangoRESTフレームワークと一般的な関係

問題

次の標準的な一般的な外部キーフィールドを持つモデルがあります。

RESTフレームワークのドキュメントによると、これを正しくシリアル化するために次のことができます。

これは正常に機能しますが、他の2つの関連する状況では、動作させることができません。

  1. 使いたいHyperlinkedRelatedFieldです。このフィールドにはview_name引数が必要です。これは、ビュー名が関連するモデルによって異なるため、宣言できません。SerializerMethodFieldを使用して、実行時にインスタンス化し、HyperlinkedIdentityFieldそのメソッドを返すことでこれを解決しましたfield_to_native(以下のスニペットを参照)。これはあまりエレガントではありません。
  2. と言って、関連するオブジェクトをシリアル化に直接ネストしたいと思いますevent_object = SoAndSoSerializer(source='event_object')。私が見ることができる唯一の解決策は、*Serializer私が定義したすべてを歩き、正しいモデルを持っているものを確認し、それを使用することです。繰り返しますが、これはあまりエレガントではありません。

質問

HyperlinkRelatedFieldは、一般的な関係全体で機能することを目的としていますか?私はただ間違えているのですか?*Serializer私が欠けている権利を選ぶための明白な解決策はありますか?

コードスニペット

上記の箇条書き1で述べたエレガントでない解決策:

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

python - serializer.save()はcreation_counterエラーを引き起こします

Rest-Frameworkチュートリアルに従い、シリアライザーモデルで説明されているようにAPIをセットアップしました。このserializer.is_valid()メソッドはtrueを返し、serializer.dataとserializer.objectを出力すると、本来のように見えます。

しかし、電話をかけるとserializer.save()、次のエラーメッセージが表示されます。

'str'オブジェクトには属性'creation_counter'がありません

誰かが同じ問題に遭遇したか、それを修正する方法やこの問題が発生する理由を知っていますか?

私の見解は次のようになります。

0 投票する
11 に答える
63008 参照

django - RESTful API のトークン認証: トークンは定期的に変更する必要がありますか?

Django とdjango-rest-frameworkを使用して RESTful API を構築しています。

認証メカニズムとして「トークン認証」を選択し、Django-REST-Framework のドキュメントに従って既に実装しています。問題は、アプリケーションがトークンを定期的に更新/変更する必要があるかどうかです。トークンの更新を必要とするのはモバイル アプリであるべきか、それとも Web アプリが自律的に行​​うべきか?

ベストプラクティスは何ですか?

Django REST Framework の経験があり、技術的な解決策を提案できる人はいますか?

(最後の質問は優先度が低くなります)

0 投票する
4 に答える
92908 参照

python - Django Rest Framework を使用して関連するモデル フィールドを含めるにはどうすればよいですか?

次のモデルがあるとします。

ManyRelatedPrimaryKeyField 関数ごとに次のような結果を取得する代わりに、次のようにします。

次のような完全な関連モデル表現を含むものを返すようにします。

これは可能ですか?もしそうなら、どのように?そして、これは悪い考えですか?

0 投票する
8 に答える
100741 参照

python - DjangoRestFramework-ModelSerializerにカスタムフィールドを追加する方法

を作成しModelSerializer、モデルの一部ではないカスタムフィールドを追加したいと思います。

ここにフィールドを追加するための説明を見つけて、次のことを試しました。

このフィールドを追加してvalidate()関数を呼び出すと、このフィールドはattrdictの一部ではありません。attr追加フィールドを除く、指定されたすべてのモデルフィールドが含まれます。したがって、上書きされた検証でこのフィールドにアクセスできませんか?

このフィールドを次のようにフィールドリストに追加すると、次のようになります。

次に、モデルの一部ではないためにエラーが発生しますcustomField。このシリアライザーのためだけに追加したいので、正しいことです。

カスタムフィールドを追加する方法はありますか?

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

forms - django-rest-framework - ブラウズ可能な API でフォームを自動生成しますか?

正しい語彙を使用しているかどうかはわかりません。django-rest-framework で無料で提供されるブラウズ可能な API で、ModelForms を定義する方法と同様のフォームを自動生成する方法があるかどうか疑問に思っていました。これにより、場合によっては API への入力をより簡単にテストできるようになります。私は現在、違いが生じる場合に備えて、ModelSerializers とジェネリック ビュー APIView を使用しています。

ドキュメントを読みました (この時点で数回) が、どこにも言及されていませんでした。

スクリーンショット

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

django - ほとんどの通常のビューを Tastypie API に変換したいですか?

通常の Django ビューを TastyPie API に変換しています。
(私の質問はtastypieに固有のものではありません。残りのフレームワークを使用すると同じ質問が発生します)

ユーザーがログインするためにもtastypieを使用している人を見かけます。
Tastypieを使用してdjangoにログインするにはどうすればよいですか

Tastypie を使用して、画像をギャラリー アプリなどにアップロードできると思います。

Tastypie は使い慣れているのでhandle resourceuploading an imageと考えることができますcreating a resource。と見なす
方法がわかりません。 (私が見ているように、それはCRUDではありません)loginhandling resource

regular views問題は、 と の間に引かなければならない線は何かということですtastypie powered views
通常のビューはいつ使用し、tastypie やその他の REST API を利用したビューはいつ使用しますか?

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

django - Django Rest Framework ディクショナリ フィールド

DjangoのAPIのバックエンドとしてmongoengineでMongodbを使用しています。API の作成に使用しているフレームワークは Django Rest Framework です。

Mongo のフィールドにディクショナリを格納する必要があります。メソッド post が呼び出されたときに行った最善の方法は、charfield を使用して関数 restore_object でディクショナリを解析することです。

この目標を達成するためのより良い方法はありますか?

dict フィールドを作成した方が良いですか? これがどれほど難しいかわかりません。

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

いくつかのコードを表示するように編集しましたが、辞書を dict (DictField) として保存していることに注意してください。その内容は、あるオブジェクトから別のオブジェクトに変更される可能性があります。

私のmongoengineモデルは次のようなものです:

そして私のシリアライザは次のようなものです: