問題タブ [flask-restful]
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.
python - ユーザーの役割に基づいて API を RESTful にルーティングする
Flask-RESTful を使用して API を開発しており、アプリケーションには 3 つの役割があります。
- サイト管理者
- 部門_管理者
- 基本
特定のリソースについて、返される JSON オブジェクトには、各ロールに基づいた異なるキー セットがあります。
たとえば、「site_admin」として /orders をヒットすると、結果は次のようになります。
ただし、「department_admin」として /orders をヒットすると、結果は次のようになります。
/orders を「basic」としてヒットすると、次のような非常に最小限の JSON 応答になります。
これを実装するRESTfulな方法は何ですか?
3つの方法を思い付くことができます。
(1) リクエスト引数を使用し、それをフィルタリングする:
(2) セッション オブジェクトのフィルタリング:
(3) 役割ごとに異なるルートを持つ:
... どちらが RESTful な方法として好まれるかについてコンセンサスはありますか?
本当にありがとう!
python - Heroku Pymongo が「静的アセットの準備」でデプロイに失敗する
次の依存関係を持つ Flask-Restful アプリをデプロイしようとしています。
ファイルから pymongo パッケージを削除すると、すべて問題git push heroku master
なく動作します。再度追加してプロセスをデプロイしようとすると、次の場所でスタックします。
そして、15分後にタイムアウトになります。なぜそれがそこに立ち往生しているのか、どうすればそれを回避できますか?
ありがとう!
python - Python Flask SQLalchemy JSON POST エラー
次のJSONを投稿して、FlaskサーバーとPython 2.7、落ち着きのないフレームワーク、およびcurlを使用したSQLAlchemyのMySQLデータベースに保存しようとしています:
私のコードは次のとおりです。
POST を続けると、内部サーバー エラーが発生します。どんな助けでも大歓迎です。
トレースバックは次のとおりです。
注: この例外はデバッグ モードでのみ発生します
python - フラスコレストフルでの整数のリストの解析
私はフラスコレストフルRequestParser
を使用していますが、整数のみのリストを検証する を構築するのに問題があります。次の形式の予期される JSON リソース形式を想定します。
...そして、次のようなフォームを使用して RequestParser を作成します。
...しかし、どうすれば整数リストであることを検証できますか?
caching - キャッシングを最大限に活用する
メソッドの結果を(明らかにその署名とともに)キャッシュして、データストアで毎回複雑なクエリを作成しないようにしています。私のキャッシングは完璧に機能しています。
私の質問は:
キャッシュ内のエントリのタイムアウトの最適値を見つけるにはどうすればよいですか?
キャッシュ内のエントリの最適な数は?
アプリケーションのパフォーマンスを向上させるために変更できるその他の変数はありますか?
キャッシングのパフォーマンスに影響を与えるさまざまな要因を変数として想定し、キャッシュを最適化する方法を理解するのに役立つ公式を取得してください。
flask - Flask-Restful でカスタム エラーを発生させる
すべて、 docsに従って、Flask-Restful を使用してカスタム エラーを発生させようとしています。テストの目的で、エラー ディクショナリを定義して登録しました。ドキュメント内の正確なリンク: api = flask_restful.Api(app, errors=errors)
.
abort(409)
ただし、リソース モジュール内で(たとえば) を使用してカスタム エラーを発生させたい場合、firebug は次のように報告します。
{ "メッセージ": "競合", "ステータス": 409 }
これは標準の 409 エラーのように見えますが、カスタムではありません。ドキュメントから、「そのユーザー名を持つユーザーは既に存在します」というカスタムエラーメッセージが表示されると思います。
エラー自体の発生に関して何かが欠けていると思います。何らかの方法で辞書キーを使用する必要がありますか? Flask-Restful のソース コードを確認しても役に立ちませんでしたが、試してみました。
python - Flask で異なるサブドメインをセットアップする方法 (設計図を使用)?
https://app.mydomain.comで Flask アプリケーションを実行しています。
設計図は次のようになります。
URL は次のようになります。
api_1_0
ルートをhttps://app.mydomain.com/api/v1.0からhttps://api.mydomain.comに移動したいのですが、どのようにルートを変更し、どのように設定すればよいapp.config['SERVER_NAME']
ですか?
example.com
(サブドメインなし) は完全に別のサイトです。それ以外の場合は、app
サブドメインを削除します。
だから、私はapp
すべての青写真のデフォルトのサブドメインになりたい.api_1_0
api
python - Flask - after_request または teardown_request でリクエストにアクセスします
HTTP 呼び出しの応答を返す前に、要求オブジェクトにアクセスできるようにしたいと考えています。「teardown_request」と「after_request」を介してリクエストにアクセスしたい:
リクエストを g に追加して、次のようなことができることがわかりました。
しかし、上記は少し奇妙に思えます。リクエストにアクセスするためのより良い方法があると確信しています。
ありがとう
python - gae で admin_required デコレータを渡す/モックする方法は?
ビューに @admin_required デコレーターを追加すると、単体テストが失敗し始め、次のメッセージが表示されます。
RuntimeError: リクエスト コンテキストの外で動作しています
単体テストのためにモックまたはバイパスする方法はありますか?
デコレータは次のとおりです。
flask - フラスコ wtforms_alchemy オブジェクトには属性がありません
フラスコ安静APIの実行を開始し、にPOSTリクエストを送信してユーザーを登録しようとしましたlocalhost:5000/api/v1/users
。必須フィールドは電子メールとパスワードです。ユーザーを作成するためのcurlリクエストは次のとおりですcurl http://localhost:5000/api/v1/users -d "email=admin@example.com&password=password" -X POST -v
しかし、それは私にこのエラーを返します:AttributeError: 'UserCreateForm' object has no attribute 'password'
以下は私のコードの一部です
ビュー.py
フォーム.py
models.py ( to を 2 番目に配置するのに疲れましたがUserMixin
、それでも同じエラーが発生します)
また、login_manager.user_loader
含めたので、フラスコログインでは問題ないと思います。
wtform_alchemy のドキュメントはありますか? モデルから自動的にフォームを作成する方法がまったくわかりません。