Страницы

Поиск по вопросам

вторник, 16 июля 2019 г.

Django: Некорректное отображение шаблонов на локальном сервере

Здравствуйте.
Столкнулся с необычной проблемой. На локальном сервере (./manage.py runserver) некоторые части шаблона отображаются неверно, хотя все статические файлы (css, js) загружены и, в целом, страница корректна. В то же время на production-сервере, где статика загружается через nginx, всё в норме.


Ответ

Скорее всего это потому что сервер django на локальной машине не заботится о раздачи статики.
В Django есть решение из коробки, которое заботится о раздаче статики.
In addition to these configuration steps, you’ll also need to actually serve the static files. During development, if you use django.contrib.staticfiles, this will be done automatically by runserver when DEBUG is set to True (see django.contrib.staticfiles.views.serve()). This method is grossly inefficient and probably insecure, so it is unsuitable for production.
Примерное решение
from django.conf import settings from django.contrib.staticfiles import views
if settings.DEBUG: urlpatterns += [ url(r'^static/(?P.*)$', views.serve), ]
Подробнее:
Static file development view
Ещё раз: Не используйте без DEBUG = True. Это решение может быть небезопасным и ресурсоёмким

Комментариев нет:

Отправить комментарий