Ошибка при попытке обслуживать загруженные пользователем файлы локально
Я пытаюсь обслуживать загруженные пользователем изображения локально на 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)