Вероятная причина поведения, которое вы испытывали, заключается в следующем. Вы, вероятно, включили django.contrib.staticfiles в INSTALLED_APS в файле settings.py. В этом случае, когда вы запускаете «manage.py runserver» (и у вас есть DEBUG = True в вашем «settings.py»), статические файлы будут автоматически обслуживаться из вашего STATIC_URL приложением staticfiles, а не вашим «django.views» .static.serve 'шаблон URL. Однако в вашем случае приложение staticfiles настроено неправильно и не найдет ваш файл image.png. Возможно, вы захотите узнать больше об обычном обслуживании статических файлов здесь: Управление статическими файлами .
В этом отношении STATIC_URL не должен быть путем к файловой системе, как у вас сейчас: STATIC_URL .
Когда вы сделали это таким образом, вы фактически отключили приложение staticfiles, и ваш код начал работать в результате:)
Итак, чтобы решить вашу проблему «правильно», вам нужно либо убедиться, что STATIC_URL и URL-путь в вашем «urls.py» различаются, например, сделать один из них «/ static /», а другой "/ media /" (или что-то еще), или просто удалите "django.contrib.staticfiles" из ваших INSTALLED_APPS вообще, если вы его не используете. (И, конечно, совет о том, как сделать 'document_root' каталогом, был полностью верным. Вы можете узнать больше об использовании 'django.views.static.serve' здесь: Обслуживание статических файлов в разработке .)