Відповіді:
Якщо ви використовуєте сервер розробки, дотримуйтесь інструкції проекту 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 у папці під назвою "медіа", яка була на найвищому рівні мого проекту 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" />
.replace('\\','/')
є непотрібним.
Які налаштування мені потрібно зробити, щоб Django бачив файл css?
Жоден.
Переконайтеся, що ваш шаблон містить файл CSS (як це робить стандартний HTML) та розмістіть файл CSS на медіа-сервері.
Для уточнення: з Django дуже рекомендується обслуговувати всі свої медіа (усе, що не є динамічним html), з іншого екземпляра сервера. Як ви реалізуєте це, повністю залежить від вас, але більшість людей створюють субдомен.
Офіційні документи джанго мені не допомогли. Сподіваюся, що запис у блозі " Django: Як обслуговувати статичні файли " допомагає деяким із вас.
Ну, найпростіший спосіб використовувати css з django - це додати його до своїх шаблонів у вигляді статичних файлів.
Але це трохи схоже на ajax, я не знайшов нічого, що б сказало, як його включити стандартним способом.
Існує модуль css-компресор для django, якщо ви хочете оптимізувати його розміри.