問題タブ [python-routes]

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

python - 文字列に基づくメソッドへのルーティング

Tornado が URL に基づいてリクエストをルーティングする方法と同様に、Python で文字列に基づいてメソッドを呼び出そうとしています。たとえば、"/hello" という文字列がある場合、あるクラスでメソッド "hello" を呼び出したいとします。私はPython Routesを見てきましたが、次の解決策を思いつきました:

ただし、文字列の一部を引数としてメソッドに渡す機能を追加したいと思います。たとえば、"hello/5" という文字列を呼び出したいとしますhello(5)(これも Tornado のルーティングと非常によく似ています)。これは、任意の数の引数に対して機能するはずです。誰かがこれに良いアプローチを持っていますか? リクエスト URL ではない文字列に対して Tornado のルーティング機能を使用することはできますか?

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

python - WSGI を使用した Cherrypy ルーティング

特定の URL を移植された WSGI アプリにルーティングし、サブ URL を通常のチェリーピー ページ ハンドラーにルーティングしようとしています。

動作するには次のルートが必要です。他のすべてのルートは 404 を返す必要があります。

  • /api -> WSGI
  • /api?wsdl -> WSGI
  • /api/goodurl -> ページ ハンドラー
  • /api/badurl -> 404 エラー

/api にマウントされた WSGI アプリは、従来の SOAP ベースのアプリケーションです。?wsdl パラメータを受け入れる必要がありますが、それだけです。

/api/some_resource に新しい RESTful API を作成しています。

私が抱えている問題は、リソースが存在しない場合、古い SOAP アプリケーションに不適切な要求を送信してしまうことです。最後の例「/api/badurl」は、最終的に WSGI アプリに送信されます。

最初の 2 つのルートのみを WSGI アプリに送信するように cherrypy に指示する方法はありますか?

私の問題の簡単な例を書きました:

いくつかの単体テストを次に示します。

出力:

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

python - RESTful Python ルート - 動作しない?

Python でのRESTful ルーティングが機能していないようです。例えば、

REST メソッドが PUT、DELETE、POST のいずれであるかは関係ありません。私のURLの一致のみを探します。 /user/{id}

したがって、DELETEメソッドを送信するとhttp://127.0.0.1/index.py/user/1

私は常に{'action': u'update', 'controller': u'updateUser', 'id': u'1'}どちらからのGETかを取得しますmap.connect("update user", "/user/{id}", controller = "updateUser", action = "update", conditions=dict(method=["GET"]))

私が間違ったことをしたアイデアはありますか?

編集

Apache 設定ファイル、

ところで、私の Apache エラー ログでは、出力wsgi:errorされた結果で常にこの警告が表示されます。

[Sat Aug 15 16:03:41.871541 2015] [wsgi:error] [pid 7068:tid 836] {'action': u'update', 'controller': u'updateUser', 'id': u'1' }

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

python - Python のルートとディスパッチャ - 関連するコントローラ/関数へのルートを使用する方法は?

私は初心者がPHPの背景に来るので、Pythonとかなり混同しています。

このPython ルーティング ライブラリからルートに設定されているコントローラーを呼び出す方法を理解しようとしています。

たとえば、このようにルートを設定しています。

ご覧のとおり、ルートに設定されているコントローラーはまったく使用されていません。それが一致した場合、if-else条件で個々の関数を呼び出します。これは退屈でつまらない...

これは、私が PHP で行う方法ではありません (おそらく、Python でも行うことはないでしょう)。リクエストからの一致がある場合、ルートがコントローラーを直接呼び出すと予想されるため、それ以上の if-else 条件は必要ありません

以下にこれを持たずに関数controller = "addUser"を呼び出さなければならない方法はありますか?addUser

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

python-3.x - Python2 接続フレームワーク - ディレクトリ構造のコントローラー

アプリケーションの REST API アクセスを設定するために、接続フレームワークを使用して遊んでいます。

私のアプリケーションは python2 で構築されています。python2 用の接続フレームワークをインストールし、エディター (editor.swagger.io) を介して yaml ファイルをいじってみました。Python Flask サーバー コードをダウンロードし、Python2 と互換性があるように変換して、1 つのコントローラーでテストしました。

サーバーが実行されている場所と同じディレクトリにコントローラーが配置されている場合。すべて問題ありませんでした。すべてのルートが追加され、期待どおりに機能していました。次に、いくつかのビジネス ロジックに基づいてコントローラーを分割し、コントローラーごとにツリー構造が必要でした。

何かのようなもの

等々。これは python2 では機能しません。python3でも動くようです。理由はありますか?
ログから次のエラーが表示されます

yaml 構成ファイルで、OperationId を api.magic1.func1() などとして追加します。