![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Здравствуйте,
не так давно начал разбираться с Django и сразу же начал сталкиваться с разного рода проблемами. Задача - подключить css. Делал все как тут (Basic usage): https://docs.djangoproject.com/en/dev/howto/static-files/ То есть, моя последовательность действий: В моем приложении создал папку static, в ней папку css, там файл style.css. django.contrib.staticfiles подключено. Затем пишу такой код:
и css не подключается. Никаких дополнительных манипуляций с параметрами я не делаю, потому как если я правильно понял, то все в моем случае дефолтно. Далее я не очень понимая смысла параметров STATIC_ROOT и STATIC_URL, сделал директорию static в корне проекта, прописал STATIC_ROOT, STATIC_URL, сделал collectstatic, все скопировалось чудесно. Но результата опять никакого, более того в конечном html коде вообще никаких изменений, то есть css/style.css и все. Еще не очень понятно, видел где-то в примерах, что и для css нужно прописывать маршрутизацию, но в джанго мануале этого нет. Подскажите пожалуйста в чем я не прав и заодно буду признателен за разъяснения насчет смысла маршрутизации в данном случае, а также смысл collectstatic. |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Запилил явно через маршрутизацию. Хочется узнать можно ли иначе, а то как то это слишком, так подключать CSS.
|
|||
|
||||
Stolzen |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
В настройках добавляете путь к вашим static файлам
И затем путь до таких фалов в urlconf, чтобы правильно диспатчер отпрабатывал запросы к статике:
Флаг PRODUCTION нужен для индикации, находится ли сервер под управлением тестового веб-сервера или уже под apache/чем-нибудь-другим - ведь в production серверах есть возможность явно указывать путь к static файлам в конфигах. Это сообщение отредактировал(а) Stolzen - 2.7.2011, 01:10 |
||||
|
|||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Stolzen,
спасибо. А можно уточнить смысл маршрутизации в данном случае. Если я захочу хранить свои статик файлы в нескольких подпапках. Например css и js. То есть можно добавить еще один маршрут, но это не совсем то. Если я правильно понимаю, то в данном случае все файлы должны храниться в одной папке. И еще ряд вопросов. 1. А можно раскидать статик файлы по разным папкам, прописать STATICFILES_DIRS, потом сделать collectstatic в одну папку и указать до нее путь, как Вы написали? 2. Интересуют комментарии по примеру с мануала джанго (ссылка в первом посте), там используется STATIC_URL. То есть как вообще вся эта схема работает, есть ли иные механизмы, как использовать STATIC_ROOT, STATIC_URL. 3. Я пока не очень сильно проникся джанго, не понимаю смысла скажем STATIC_ROOT и STATIC_URL, если последний принимает не кортеж, а лишь строку, почему нельзя сразу все вбить в STATIC_ROOT. Заранее спасибо. Это сообщение отредактировал(а) Anark1 - 2.7.2011, 12:52 |
|||
|
||||
Stolzen |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
Да, по-хорошему они должны хранится в одной. (И при необходимости можно добавить еще один маршрут)
Можно попробовать из разных папок статические файлы запамить по одному адресу. Примерно вот так
Правда нужно проверить, будет ли работать. Или вы физически файлы хотите перенести в одну папку? Честно говоря, затрудняюсь дать какие-либо комментарии по мануалу. Помню как-то давно пытался по нему делать, но у меня не заработало, я с тех пор со статикой дело имею только так, как я написал. |
||||
|
|||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Спасибо! Будем посмотреть.
|
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Если интересно, такая тема. Прочитал в мануале (не понял почему ну да ладно), для того чтобы {{ STATIC_URL }} заработал, нужно обязательно передавать из представления в функцию render_to_response третьим параметром context_instance=RequestContext(request). Соответственно ставим STATIC_URL где лежат все статик файлы и можно подпапки и тогда происходит подстановка. Но все равно нужно прописывать маршрутизацию руками. Даже так.
Прочитал у одного человека
Для меня не очень понятно, что это значит. То есть подразумевается на продакшн "в обход джанго", имеется ли ввиду какой-то хардкод или что. |
|||
|
||||
Stolzen |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
Да, именно - если развертывать программу на боевом сервере, то лучше статику раздавать через сервер напрямую, а не отправлять запрос за статикой в джанго - намного быстрее страницы в таком случае загружаются. Как пример кусочка конфига для апача:
Сначала биндится статика, потом уже сам скрипт. Вообще часто советуют для раздачи статики использовать дополнительный сервер, типа nginx, лично пока не практиковал такого. |
||||
|
|||||
damask |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.8.2011 Репутация: нет Всего: нет |
Вот небольшой мануал, который мне помог подключить статические файлы работа со статическими файлами в Django
|
|||
|
||||
gomer999999999 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 3.2.2013 Репутация: -1 Всего: -1 |
Добрый день.
Предлагаем к рассмотрению и тестированию наш проект - Маркетер Плагин. Продвигаем его успешно во всем мире. Но только 27 января 2013 предоставили в Рунете к тестированию русифицированный плагин с русифицированным интерфейсом. Вся подробная информация наhttp://www.marketerplugin.ru/ Предлагаем протестировать наш плагин на только что русифицированном интерфейсеhttp://www.marketerplugin.ru/test_plagina. В двух словах: плагин предназначен для создания сайтов-визиток и страниц продаж. Ждем ваших комментариев, отзывов и критики. Так же будем рады видеть вас на наших страницах в соц сетях http://www.facebook.com/pages/Marketer-plugin/5288148.. http://vk.com/club46912629 Успехов и новых впечатлений. С уважением, Богдан |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |