Если я правильно вас понял, то думаю, что вы не до конца поняли смысл
STATICFILES_DIRS и
STATIC_ROOT
Разрабатывая приложение локально, вы используете runserver и тут статику отдаёт девелопесркий вебсервер джанги. Когда же вы загрузите на продакшн, там статику отдавать будет уже вебсервер (apache, nginx etc). Пока вы разрабатывает, то runserver берёт статику из пути STATICFILES_DIRS, на продакшене статика будет браться из STATIC_URL.
Выполняя же команду
collectstatic, вы говорите джанге "
из локальных папок (а их может быть много), всё собрать в одной для продакшена". Вот и получается, что вы увидели "дубли".
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "dev_static"),
)
Если папка из STATICFILES_DIRS находится внутри проекта, то её я обычно добавляю в .gitignore