CSS исчезает, когда Django 'DEBUG' становится False

Я работаю с Django и использую инфраструктуру AdminLTE для estilização, но когда я переключаю DEBUG на False, страница отображается с чистым html.

DEBUG = True:

DEBUG = False:

settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'saga.core',
    'saga.subjects',
    'saga.accounts',
    'saga.tasks',
    'saga.study_time',
    'django_adminlte',
    'django_adminlte_theme',
]

django_adminlte и django_adminlte_theme - приложения для платформы стилей.

1 ответ

Когда DEBUG = True Django будет обслуживать статические и мультимедийные файлы. когда DEBUG = False Я не буду. Поэтому все файлы js и css вернут ошибку 404, если не будут обслужены. Для лучшего понимания того, что происходит, я рекомендую прочитать https://docs.djangoproject.com/en/1.11/howto/static-files/ Эти статические файлы могут также присутствовать в установленных приложениях, а не только внутри проекта. сам.

Для локального тестирования вы можете добавить следующее к вашему urls.pyurlpatterns:

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

static можно импортировать из from django.conf.urls.static import static

Дополнительную информацию можно найти по адресу https://docs.djangoproject.com/en/1.11/howto/static-files/

Дополнительную информацию о том, как развернуть статические файлы в рабочей среде, можно найти по адресу https://docs.djangoproject.com/en/1.11/howto/static-files/deployment/

Другие вопросы по тегам