Сервер разработки Django. CSS-файлы, используемые как text/html

Я использую Django 1.8. Я получаю статус 200 для обоих моих файлов CSS, но Firefox говорит:

The stylesheet http://localhost:8000/css/full-width-pics.css was not loaded because its MIME type, "text/html", is not "text/css". localhost:8000
The stylesheet http://localhost:8000/css/mainstyle.css was not loaded because its MIME type, "text/html", is not "text/css". localhost:8000

По какой-либо причине файлы обслуживаются как text / html, а не text / css. Это мой HTML.

  <link href="css/full-width-pics.css" rel="stylesheet" type="text/css" />
    <link href="css/mainstyle.css" rel="stylesheet" type="text/css" />

Это в файле base.html. Я расширяю base.html в моем файле index.html. До того, как я начал использовать наследование шаблонов и имел все в index.html, он работал нормально.

Я нахожусь на Ubuntu. Я проверил /etc/mime.types. CSS указан с текстом / CSS.

Это оставило меня в замешательстве

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, кроме блока, это просто оболочка ввода-вывода
  • в блоке try -> content_type=mimetypes.guess_type(request.path)[0] выполняет магию обнаружения MIME [0], т.е. первый элемент необходим, потому что он возвращает кортеж, сначала являющийся типом mime, а вторым - кодируемым.
  • request.path передается в строке выше, потому что он предполагает MIME на основе пути к файлу. например, text/css для файла с именем stylsheet.css, если клиент (браузер) запросит его.
  • clientRequestUrl = точный URL-адрес, который клиент пытается запросить на сервере.
Другие вопросы по тегам