【问题标题】:Django + Pythonanywhere: How to disable Debug ModeDjango + Pythonanywhere:如何禁用调试模式
【发布时间】:2016-09-25 14:10:53
【问题描述】:

我正在使用 Django 和 PythonAnywhere,我想将 DEBUG 设为 False。但是当我将它设置为 False 并设置为ALLOWED_HOSTS = ['*'] 时,它工作正常。但问题是媒体(或图像)没有显示。任何人都遇到过这种情况并知道如何解决它?

【问题讨论】:

  • 您是否正确设置了 MEDIA_URL 到 MEDIA_ROOT ?
  • 是的,当我的 settings.py 上的 DEBUG=True 时,我已正确设置它,它在 PythonAnywhere 中运行良好。但是当我尝试使 DEBUG=False 并使 Allowed_host=['*'].图片显示在我的 Pythonanywhere 网站上
  • 你要设置媒体文件映射PythonAnywhere dashboard
  • 我该怎么做?
  • 在仪表板中,您是否看到任何 Meida 文件部分?

标签: django pythonanywhere


【解决方案1】:

我想通了,感谢 Raja Simon 先生的提示。

在我的 Web 选项卡上的 PythonAnywhere 仪表板中。我设置了这样的东西..

网址/媒体/

目录/home//media_cdn

*media_cdn 是我的图像所在的位置。

【讨论】:

  • PythonAnywhere dev here -- 听起来您找到了正确的解决方案。关于为什么需要这样做的一些解释:当 Django 处于调试模式时,它会为您提供静态文件。这在您开发时很方便,但对于实时站点非常效率低下,因为 Django 使用慢速 Python 代码提供静态文件。因此,当您关闭调试模式时,它会停止为它们提供服务。 PythonAnywhere 中的静态文件配置使我们自己的服务器能够处理它们,以便它们可以接管 Django。
  • 谢谢你解释得很好,我是 Django 和 PythonAnywhere 的新手。
猜你喜欢
  • 2015-12-18
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多