0

我刚刚使用 pythonanywhere 部署了一个站点,当我将DEBUG模式设置为 时False,我的媒体图像消失,找不到我的媒体文件夹的路径。我在问自己是什么导致了这个问题,我该如何解决?

这是我配置设置的方式:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

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

网址.py

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

2 回答 2

2

找到它,使用pythonanywhere我必须在静态文件处理程序上设置媒体,如下所示:

小路 : /media/

目录 : /home/<myusername>/<myproject>/media

然后重新加载域名后设置DEBUGFalse.

于 2017-02-28T10:25:24.670 回答
1

您看到的行为是设计使然,Django 在生产模式下不提供静态文件。使用 Python 提供许多可能巨大的静态文件会给服务器带来很大的压力,而任何常见的服务器都可以轻松处理。

因此,您需要自己使用 Apache 或 nginx 为它们提供服务:https ://docs.djangoproject.com/en/1.10/howto/static-files/deployment/

于 2017-02-28T09:49:48.833 回答