Pertanyaan Cara mengatur header tipe konten sebagai respons untuk jenis file tertentu dalam kerangka kerja web Pyramid


Saya menggunakan kerangka web piramida untuk membangun situs web. Saya terus menerima peringatan ini di konsol chrome:

Sumber daya diartikan sebagai Font tetapi ditransfer dengan jenis aplikasi MIME / octet-stream: "http: static / images / fonts / font.woff".

Bagaimana cara saya menghilangkan pesan peringatan ini?

Saya telah mengonfigurasi file statis untuk dilayani menggunakan add_static_view

Saya dapat memikirkan cara untuk melakukan ini dengan menambahkan fungsi pelanggan untuk respons yang memeriksa apakah jalur berakhiran .woff dan mengatur header tanggapan application/x-font-woff. Tapi itu tidak terlihat seperti solusi bersih. Apakah ada cara untuk memberi tahu Piramida untuk melakukannya melalui beberapa pengaturan.


4
2017-10-04 08:13


asal


Jawaban:


Piramida menggunakan standar mimetypes modul untuk menebak mimetype berdasarkan ekstensi. Itu memanggil:

mimetypes.guess_type(path, strict=False)

Modul ini terlihat di registri Windows jika pada platform itu, dan di lokasi berikut untuk daftar 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
    ]

Anda dapat memperluas salah satu dari file tersebut, atau membuat file Anda sendiri dan menambahkannya ke modul menggunakan .init() fungsi.

Format file sederhana, cukup cantumkan mimetype, lalu beberapa spasi, lalu daftar ekstensi yang dipisahkan spasi:

application/x-font-woff     woff

6
2017-10-04 12:29



Cukup tambahkan kode berikut ini di mana aplikasi web Piramida Anda diinisialisasi.

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

Sebagai contoh, saya telah menambahkannya di file webapp.py saya, yang dipanggil pertama kali server mendapat untung dengan permintaan.


1
2017-11-13 19:46