Ошибка при попытке обслуживать загруженные пользователем файлы локально

Я пытаюсь обслуживать загруженные пользователем изображения локально на Django 1.10. Я следую документации здесь и получаю эту ошибку:

SystemCheckError: System check identified some issues:
Your URL pattern [<RegexURLPattern None ^media\/(?P<path>.*)$>] is invalid. 
Ensure that urlpatterns is a list of url() instances.

Проблема заключается в добавлении static часть моих URL:

urlpatterns = [
    ...my urls...
]

if settings.DEBUG:
    # This is causing the error.
    urlpatterns += [
        static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    ]

Когда я удаляю static Помимо моих URL, ошибка исчезает. Что я здесь не так делаю?

Мои применимые настройки следующие:

BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_ROOT = BASE_DIR + "/static/"
STATIC_URL = "/static/"
MEDIA_ROOT = BASE_DIR + "/media/"
MEDIA_URL = "/media/"

1 ответ

Решение

Ответ в том, что static не должно быть внутри списка. Эта строка:

urlpatterns += [
    static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
]

должно быть:

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Другие вопросы по тегам