【问题标题】:django MEDIA_ROOTdjango MEDIA_ROOT
【发布时间】:2023-03-03 22:19:02
【问题描述】:

如果我设置 apache (PRODUCTION) 来提供静态文件 (js,css,jpg,pdf,mp4),我应该在 settings.py 中设置变量 MEDIA_ROOT

我的意思是无论如何匹配/media/的任何东西都将由apache而不是django提供。那么MEDIA_ROOT的使用到底是什么。在这样的环境中MEDIA_URL有什么用途,除了作为@的快捷方式987654326@。同样,ADMIN_MEDIA_PREFIX 的用途是什么,而不是作为快捷方式。

【问题讨论】:

标签: django


【解决方案1】:

Here

我得到了我的问题的答案(如我的评论中所述)。我正在审查我的 stalkoverflow 个人资料,我看到这个问题没有得到回答和关闭。所以再次粘贴链接作为答案。

【讨论】:

    【解决方案2】:

    是的,因为您需要告诉 Django 浏览器在哪里可以找到 Apache 提供的那些文件。

    【讨论】:

      【解决方案3】:

      区别在于 MEDIA_ROOT 指示您应该将静态文件放在哪里,而 MEDIA_URL 是提供这些文件的相对路径。

      在生产环境中,MEDIA_* 路径(通常,但并不严格遵循)用于存储应用程序相关的静态文件(css、imgs 和 javascripts)。对于用户上传的内容,将它们保存在 STATIC 路径中是一种很好的做法(但同样,这不是规则),这样您就可以在不影响您的应用的情况下移动/删除/填充它们

      所以基本上,回答你的问题(在你的帖子中没有看到任何问号,顺便说一句)MEDIA_ROOT 是服务器上必须存储静态文件的绝对路径。

      Here you can find something about MEDIA_ROOT and MEDIA_URL

      Here something about static files management with django

      【讨论】:

      • 我的问题是在生产环境中,即使我们没有在 setting.py 中设置 MEDIA_*,它也会起作用。因为静态文件由 apache 提供。任何指向静态文件(如 /media)的链接/my.js 将由 apache 提供服务。所以不需要设置 MEDIA_*。
      猜你喜欢
      • 2011-06-16
      • 2011-07-27
      • 1970-01-01
      • 2023-01-09
      • 2015-01-11
      • 2012-06-03
      • 2010-12-16
      • 2011-01-19
      相关资源
      最近更新 更多