Я создаю свое приложение с помощью Django, и мне интересно, как я могу заставить Django использовать мой CSS файл? Какие настройки мне нужно сделать, чтобы Django просматривал файл css?
Примечание: на локальном компьютере
Я создаю свое приложение с помощью Django, и мне интересно, как я могу заставить Django использовать мой CSS файл? Какие настройки мне нужно сделать, чтобы Django просматривал файл css?
Примечание: на локальном компьютере
Если вы используете сервер разработки, выполните руководство по проекту django для управления статическими файлами, чтобы настроить URL-адрес, затем ссылку файлы мультимедиа в шаблоне - скажем, изображение внутри папки с изображениями из /site_media/images/foo.gif
.
В более общем плане вы спрашиваете, как обслуживать статический файл из Django. Если вы работаете под Apache, вы должны прочитать http://docs.djangoproject.com/en/dev/howto/deployment/modpython/
Если вы используете сервер разработки (скажем, на вашем ноутбуке), прочитайте http://docs.djangoproject.com/en/dev/howto/static-files/
Обратите внимание на большой отказ от жира в отношении сервера разработки Django:
Это вызвало у меня проблемы слишком долго (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" />
Какие настройки мне нужно сделать, чтобы Django просматривал файл css?
Отсутствует.
Убедитесь, что ваш шаблон содержит файл CSS (как это делает стандартный HTML) и помещает файл CSS на медиа-сервер.
Чтобы уточнить: с помощью Django настоятельно рекомендуется обслуживать все ваши медиа (все, что не является динамическим html), с другого экземпляра сервера. Как вы реализуете это полностью зависит от вас, но большинство людей создают субдомен.
Официальные django docs не помогли мне. Надеюсь на сообщение в блоге " Django: как обслуживать статические файлы" помогает некоторым из вас.
Ну, самый простой способ использовать css с django - добавить его к вашим шаблонам в виде статических файлов.
Но это немного похоже на ajax, я не нашел ничего, что говорит о том, как включить его стандартным способом.
Существует модуль css-compressor для django, если вы хотите оптимизировать его размер.