Скорее всего это потому что сервер django на локальной машине не заботится о раздачи статики.
В Django есть решение из коробки, которое заботится о раздаче статики.
In addition to these configuration steps, you’ll also need to actually
serve the static files.
During development, if you use django.contrib.staticfiles, this will
be done automatically by runserver when DEBUG is set to True (see
django.contrib.staticfiles.views.serve()).
This method is grossly inefficient and probably insecure, so it is
unsuitable for production.
Примерное решение
from django.conf import settings
from django.contrib.staticfiles import views
if settings.DEBUG:
urlpatterns += [
url(r'^static/(?P<path>.*)$', views.serve),
]
Подробнее:
Ещё раз:
Не используйте без DEBUG = True. Это решение может быть небезопасным и ресурсоёмким