0

私は最近Pythonの学習を始めたばかりで、WebフレームワークとしてPyramidを使用しています。

静的ビューを追加しようとしていますlocalhost/images/misc

config.add_static_view('images', 'C:/Project/Images/')
config.add_static_view('images/misc', 'C:/Path/To/Other/Images/')

しかし、エラーが発生します:File does not exist: C:/Project/images/misc

したがって、静的ビューとして追加する2行目images/miscは効果がないようです。

私はこれを行う方法をしばらく探していましたが、何も見つかりませんでした。名前にサブディレクトリが含まれている静的ビューを追加することは可能ですか?もしそうなら、どのように?

4

1 に答える 1

4

内部的には、pyramid はメソッドのname一部を(スラッシュ自体を含むことができる)add_static_view()形式の Pyramid ルート述語に変換します。専用の静的アセット ビューがそのルート述語にアタッチされます。name/*subpathname

あなたの設定では、images/*subpathimages/misc/*subpathルート述語の両方がこの順序で存在することを意味します。images/misc/foo.pngその後、パスPyramid を含む URL を要求すると、最初images/*subpathに述語が検出され、フォルダー内のパス要素を検索しようとしますが、失敗します。misc'C:/Project/Images/'

images/misc幸運なことに、登録の順序を逆にすることができます。最初にパスを登録するだけです。

config.add_static_view('images/misc', 'C:/Path/To/Other/Images/')
config.add_static_view('images', 'C:/Project/Images/')

現在、述語が最初に登録され、他の述語がテストされる前に任意の URLimages/misc/*subpathと一致します。images/misc/

于 2012-09-14T09:13:40.090 に答える