4

ピラミッド Web フレームワークを使用して Web サイトを構築しています。Chrome コンソールで次の警告が引き続き表示されます。

リソースは Font として解釈されますが、MIME タイプ application/octet-stream: "http:static/images/fonts/font.woff" で転送されます。

この警告メッセージを消すにはどうすればよいですか?

を使用して提供される静的ファイルを構成しましたadd_static_view

.woffパスが で終わるかどうかをチェックし、応答ヘッダーを に設定する応答のサブスクライバー関数を追加することで、これを行う方法を考えることができますapplication/x-font-woff。しかし、それはきれいな解決策のようには見えません。Pyramid に何らかの設定でそれを行うように指示する方法はありますか?

4

2 に答える 2

7

Pyramid は標準mimetypesモジュールを使用して、拡張子に基づいて MIME タイプを推測します。次のように呼び出します。

mimetypes.guess_type(path, strict=False)

モジュールは、そのプラットフォームの場合は Windows レジストリを検索し、mimetype リストについては次の場所を検索します。

knownfiles = [
    "/etc/mime.types",
    "/etc/httpd/mime.types",                    # Mac OS X
    "/etc/httpd/conf/mime.types",               # Apache
    "/etc/apache/mime.types",                   # Apache 1
    "/etc/apache2/mime.types",                  # Apache 2
    "/usr/local/etc/httpd/conf/mime.types",
    "/usr/local/lib/netscape/mime.types",
    "/usr/local/etc/httpd/conf/mime.types",     # Apache 1.2
    "/usr/local/etc/mime.types",                # Apache 1.3
    ]

これらのファイルの 1 つを拡張するか、独自のファイルを作成して.init()関数を使用してモジュールに追加することができます。

ファイル形式は単純です。MIME タイプ、空白、スペースで区切られた拡張子のリストをリストするだけです。

application/x-font-woff     woff
于 2012-10-04T12:29:03.973 に答える
1

Pyramid Web アプリが初期化される場所に次のコードを追加するだけです。

import mimetypes mimetypes.add_type('application/x-font-woff', '.woff')

たとえば、webapp.py ファイルに追加しました。このファイルは、サーバーが最初にリクエストにヒットしたときに呼び出されます。

于 2014-11-13T19:46:22.683 に答える