Debug False上未显示媒体文件

时间:2017-02-28 09:48:19

标签: python django pythonanywhere django-media

我刚刚使用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/'

urls.py

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

路径: /media/

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

然后在将DEBUG设置为False后重新加载域名。