Я бы рекомендовал использовать третий вариант из вашего вопроса.Я бы сказал, что вместо того, чтобы создавать разные статические корни для каждого сайта, вы должны сохранять статический корень одинаковым и создавать две папки, содержащие статические файлы, в зависимости от вашего домена.Например:
-- STATIC_ROOT
| -- domain_a
| -- js
| -- css
| -- img
| -- domain_b
| -- js
| -- css
| -- img
Добавить связующее ПО , в котором можно добавить путь к домену к запросу :
def domain_middleware(get_response):
def middleware(request):
request.domain = request.META['HTTP_HOST'].split('.')[-1]
response = get_response(request)
return response
return middleware
И в шаблоне, используйте это так:
{% static request.domain|add:'/js/something.js' %}