我刚刚使用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)
答案 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
后重新加载域名。