routes.url_for
を使用してコントローラーアクションへのリンクを生成し、webhelpers.html.tags
で定義された関数を使用して静的ファイル(CSS、javascript、imagesなど)にリンクするpylons web-appがあります。私のweb-appがサーバーのルートでホストされている間(つまり、web-appが '/'から実行されている間)、これはうまく動作します。しかし、 '/ foobar /'のような別の場所でweb-appを移動すると、url_for
のリンクは完全に機能しますが、webhelpers.html.tags
の関数は引き続き '/ path/to/resource'を指すリンクを生成します'/ foobar/path/to/resource'よりも優先されます。WSGI SCRIPT_NAMEプレフィックスを使用したPython webhelpers.html.tags
私の理解では、WSGIはアプリケーションに至るパスを含むSCRIPT_NAME
という環境変数を定義しています(この例では/ foobarです)。私の推測では、url_for
はこの環境変数に注意を払い、生成されたURLをそれに応じて変更しています。
モジュールに同じ処理をさせる方法はありますか?
これは、コントローラにリンクしている場合にのみ機能します。イメージ、CSSファイル、またはJSスクリプトにリンクしようとしている場合、 'url'(または' url_for')に与えるパラメータは? – Thomi
urlも静的なパスをとることができます。 'url( '/ css/base.css')' – YCYCYC
ありがとうございました。 – Thomi