Форум сайта python.su
Я не помню, говорил или нет, что путь до static еще должен быть прописан в TEMPLATE_DIRS?жесть)
Офлайн
kmikeПодскажи тогда пожалуйста, что прописать в STATIC_URL и как прописать правильно в шаблоне ссылку на те же стили или картинки(статичные), и ещё, кода DEBUG ставлю False, то вся статика пропадает.
Офлайн
DEBUG = False должен стоять на продакшине и статика должна раздаваться http сервером, а не джангой
Отредактировано slav0nic (Март 26, 2012 12:55:12)
Офлайн
Ага, все так. Если чуть конкретнее - нужно на уровне веб-сервера настроить отдачу файлов из STATIC_ROOT по адресу STATIC_URL и из MEDIA_ROOT по адресу MEDIA_URL. Пример для nginx:
# /static - поменять на STATIC_URL проекта location /static { # а этот путь поменять на STATIC_ROOT alias /my/project/files/collected_static; } # /uploads поменять на MEDIA_URL location /uploads { # а этот путь поменять на MEDIA_ROOT alias /my/project/files/user_uploads; }
Офлайн
В шаблоне для конструирования путей к статике можно использовать переменную {{ STATIC_URL }} или (в 1.4) тег {% static %}. См. https://docs.djangoproject.com/en/1.4/howto/static-files/#referring-to-static-files-in-templates
Офлайн
kmike, подскажи ещё пожалуйста, перед заливкой сайта на хостинг какие действия нужно сделать?
Наверно собрать всю статику(collect static). А дальше что? Опыта у меня нет, поэтому такие вопросы. Уж не обессудь. :)
Офлайн
Ну вопрос про то, как все организовывать и разворачивать, - большой, способов много, как так на форуме ответить)
Мы выкладываем изменения с помощью fabric-команды, которая загружает обновленный код на сервер (по сути через hg push), удаляет pyc-файлы, запускает на сервере collectstatic, прогоняет тесты и перезапускает апач (touch на wsgi-файл) - ну и опционально проводит миграцию базы и обновление питоньих зависимостей, когда нужно.
Офлайн
Гуглите. Это поможет не задавать кучу ненужных вопросов. К примеру по одной из первых ссылок находится статья в которой даны ответы на большинство вопросов по статике.
http://progressors.org.ua/articles/4/
Офлайн