STATIC_ROOT - дирректория где хранятся не изменяемые файлы. Как правило это вёрстка дизайна, ключи верификации и так далее. То что разработчик сайта сохранил на всегда.
MEDIA_ROOT - Дирректория пользовательских файлов. То что заливают пользователи (аватарки, текстовики/архивы), то что движок может генерировать сам (к примеру скрипт тырит картинки с другого сайта и складирует тут).
Я не понимаю откуда Django собирает эти файлы.
Есть папка, куда предварительно скидывает статичные файлы разработчик. Пути пишутся в
STATICFILES_DIRS. После применения collectstatic, файлы переносятся (клонируются) в папку путь к которой указан в STATIC_ROOT.
Мой вариант (1.6.)
import os
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(PROJECT_PATH, "media")
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(PROJECT_PATH, "static")
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_PATH, "dev_static"),
)
И да, самое главное. Да! Складывать сразу можно, джанго не обидится. А вот в обратку, сложить в STATICFILES_DIRS и не выполнить collectstatic, а потом надеяться увидеть файлы в STATIC_ROOT, нельзя.