Как использовать CSS в Django?

Я создаю свое приложение с помощью Django, и мне интересно, как я могу заставить Django использовать мой CSS файл? Какие настройки мне нужно сделать, чтобы Django просматривал файл css?

Примечание: на локальном компьютере

Ответ 2

В более общем плане вы спрашиваете, как обслуживать статический файл из Django. Если вы работаете под Apache, вы должны прочитать http://docs.djangoproject.com/en/dev/howto/deployment/modpython/

Если вы используете сервер разработки (скажем, на вашем ноутбуке), прочитайте http://docs.djangoproject.com/en/dev/howto/static-files/

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

  • Использование этого сервера неэффективно и небезопасно.
  • Не используйте это в настройках производства.
  • Используйте это только для разработки.

Ответ 3

Это вызвало у меня проблемы слишком долго (404 не найденных ошибок). Недостатком для меня было редактирование кортежа STATICFILES_DIRS в settings.py, чтобы дать мне следующее:

STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(os.path.dirname(__file__),'media').replace('\\','/'),
)

Затем я взял мои файлы CSS в папке с именем media, которая находилась на верхнем уровне моего проекта django.

У меня также было:

MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/media/'

(убедитесь, что у вас есть ведущий / выше в STATIC_URL)

Конечно, как было сказано выше, вам нужно, чтобы файл CSS был правильно включен в ваши html файлы. У меня было:

<link href="{{ STATIC_URL }}css/ea_base.css" rel="stylesheet" type="text/css" media="screen" />

Ответ 4

Какие настройки мне нужно сделать, чтобы Django просматривал файл css?

Отсутствует.

Убедитесь, что ваш шаблон содержит файл CSS (как это делает стандартный HTML) и помещает файл CSS на медиа-сервер.

Чтобы уточнить: с помощью Django настоятельно рекомендуется обслуживать все ваши медиа (все, что не является динамическим html), с другого экземпляра сервера. Как вы реализуете это полностью зависит от вас, но большинство людей создают субдомен.

Ответ 6

Ну, самый простой способ использовать css с django - добавить его к вашим шаблонам в виде статических файлов.

Но это немного похоже на ajax, я не нашел ничего, что говорит о том, как включить его стандартным способом.

Существует модуль css-compressor для django, если вы хотите оптимизировать его размер.