2016-11-14 11 views
0

Я хотел бы знать следующее:Зачем загружать файлы Джанго статического каталога вместо непосредственно Джанго статического Root

1) Почему вы должны загружать файлы в статические каталоги и запустить «collectstatic» вместо того, чтобы непосредственно загрузок на статический корень folder.I знает, это звучит немного неуверенно, не получая файлы проходят через питон первый, но все же ..

2) что это делает для статических файлов при выполнении команды «» collectstatic

3) Что может быть следствием непосредственной загрузки в статический корень и альтернативы этому, это не просто limi ted для django, но для сообщества разработчиков всего веб-сообщества, если у них одинаковый рабочий процесс для загрузки всех статических файлов.

+0

ли вы имеете в виду статические файлы, принадлежащие вашего сайта (его .css файлы и т.д.) или файлы, загруженные пользователем? – RemcoGerlich

ответ

2

Почему вы должны загружать файлы в статические каталоги и запустить «collectstatic»

Если вы говорите, представленный пользователь содержания, вы должны определенно не загрузить его в любой статический каталог - это для чего предназначены «MEDIA_ROOT» и «MEDIA_URL». «Статические» файлы - это ваши приложения или проекты (таблицы стилей, js и т. д.), которые вы держите под контролем версий.

Относительно того, почему вы не сразу поместить эти статические файлы в «статический корень»:

  • первый, потому что вы хотите сохранить эти файлы под контролем версий (они являются частью ваших источников), но обслуживать их непосредственно с переднего веб-сервера или даже в конечном итоге с отдельного сервера, cdn или whatesoever, поэтому вы не можете обслуживать их непосредственно из дерева вашего проекта, они должны жить где-то, где frontserver (или что-то еще) может их обслуживать.

  • также потому, что вы хотите получить все эти статические файлы - специфические для вашего проекта, но также и любые статические файлы, поступающие из приложения 3-й части, которое вы используете.

Какой ответ на ваш второй вопрос: collectstatic будет, в основном, искать все или ваши статические файлы (в соответствии с вашими настройками) и скопировать их в STATIC_ROOT. Он также может применять дополнительную обработку в зависимости от вашего хранилища статических файлов.

Обратите внимание, что all this является fully documented FWIW