【问题标题】:Django 'if settings.DEBUG:' What that meanDjango 'if settings.DEBUG:' 那是什么意思
【发布时间】:2017-08-02 15:00:52
【问题描述】:

我是 django 初学者。当我编码文件上传时,我不明白这段代码

if settings.DEBUG:
    urlpatterns+=static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

为什么我们必须编码if settings.DEBUG:

【问题讨论】:

  • If Variable: 始终意味着变量需要为True(布尔值)才能执行以下代码。它与 'If DEBUG == True:' 相同,您在许多编程语言中都有相同的逻辑。例如,在 JS 中为 if (var){... DEBUG 变量在您的 Settings.py 文件中定义(在顶部某处)

标签: python django if-statement


【解决方案1】:

MEDIA_ROOT 目录中的这两行 allow the development server to serve user-uploaded files

您不应该在生产环境中执行此操作,因此添加了 if settings.DEBUG 检查。在生产中,您应该配置您的服务器(例如 Nginx 或 Apache)以提供媒体和静态文件,或从 CDN 提供它们。

【讨论】:

    【解决方案2】:

    明确表示是否处于开发模式而不是生产模式!

    【讨论】:

    • 是的,这是众所周知的.....为什么现在这样? @alasdair 解释得很好
    【解决方案3】:

    如果设置.DEBUG:

    明确检查我们是否处于调试模式。

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 2011-03-09
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      相关资源
      最近更新 更多