13

django開発サーバーでMIMEタイプを設定する方法はありますか? 具体的には、Chrome 開発ツールの警告からこのメッセージを削除したいと考えています。

Resource interpreted as Image but transferred with MIME type image/x-png
4

3 に答える 3

25

追加するのと同じくらい簡単だったことがわかりました

if DEBUG:
    import mimetypes
    mimetypes.add_type("image/png", ".png", True)

settings.py へ

于 2013-05-03T08:56:46.733 に答える
0

2020年 答え:

ブラウザによって自動検出される MIME コンテンツ タイプが必要な場合は、これが解決策です。

何度も失敗した静的な試みの後、これが動的な解決策です。

def fetch(request):
    import mimetypes
    clientRequestUrl=os.getcwd()+'/servlet'+request.path
    try: return HttpResponse(fread(clientRequestUrl), content_type=mimetypes.guess_type(request.path)[0])
    except Exception as e: return HttpResponse(str(e)+'===> Error Thrown <br>')
  • ここで fread()は try でファイルを直接読み取りますが、ブロックは単なる I/O ラッパーです
  • content_type=mimetypes.guess_type(request.path)[0] はMIME検出マジック [0] を実行します。つまり、最初の要素が必要です。これは、最初に MIME タイプで 2 番目にエンコーディングであるタプルを返すためです。
  • request.path は、ファイル パスに基づいてMIMEを推測するため、上記の行で渡されます。たとえば、クライアント(ブラウザ)が要求した場合、stylsheet.css という名前のファイルの text/css 。
  • clientRequestUrl = クライアントがサーバーにリクエストしようとしている正確な URL。
于 2020-10-18T04:53:18.840 に答える