Django 没有在调试环境中提供媒体文件



我看过许多其他堆栈溢出帖子,我不知道为什么这不起作用

我关注了其他帖子并提出了这个:

# settings.py
MEDIA_ROOT = 'media/'
MEDIA_URL = 'http://localhost:8000/media/'
# myapp/models.py
class Profile(models.Model):
    avatar = models.ImageField(upload_to='profile/', blank=True, null=True)
# myapp/urls.py
if (settings.DEBUG):
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我收到来自 django 的 404 回复,不确定我是否缺少什么。

运行 Python 3.6.1 和 Django 1.10.6

将MEDIA_URL和MEDIA_ROOT更改为

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

因为MEDIA_ROOT是保存文件的绝对路径。MEDIA_URL是处理从MEDIA_ROOT提供的媒体的 URL。

最新更新