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



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



NB: на локальной машине

642   6  

6 ответов:

Если вы используете сервер разработки следуйте руководство по управлению статическими файлами проекта 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 мне не помогли. Надеюсь, что сообщение в блоге"Django: как обслуживать статические файлы

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

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

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

Comments

    Ничего не найдено.