【问题标题】:Django - Static pictures not foundDjango - 找不到静态图片
【发布时间】:2012-01-18 11:35:05
【问题描述】:

大家好,

我正在开发模式下运行 Django 应用程序。我已将静态文件收集到项目中的 /static/images/ 目录中。

在我的模板中,我尝试链接示例图片:

<img src="{{ STATIC_URL }}items/no_image.jpeg"/>
    {{ STATIC_URL }}items/no_image.jpeg

(底线为调试目的打印)

图片显示链接断开,最下面一行打印出正确的目录:

 /static/items/no_image.jpeg

在我的项目中,我确实有 /static/items/no_image.jpeg 文件。

在我的 settings.py 我有:

STATIC_ROOT = os.path.dirname(__file__)+'/static/'
STATIC_URL = '/static/'

有人可以帮忙吗?

谢谢!

【问题讨论】:

    标签: python django static-files django-staticfiles


    【解决方案1】:

    发现问题。问题是我使用了错误的目录。 STATIC_URL 应该是 /static/ 时被命名为 /site_media/。改变了它,现在一切都像水一样清澈......

    【讨论】:

      【解决方案2】:

      我想我最近遇到了类似的问题。尝试将图像直接放在 /static/ 而不是 /static/items/ 中。如果您希望能够直接链接到 /static/items/sample.jpg,您需要在 SETTINGS 中将 /static/items/ 添加到您的 STATIC_ROOT

      【讨论】:

        【解决方案3】:

        也许您对静态文件的收集有误解。在开发过程中无需使用collectstatic 命令将它们收集到目标目录中。这是为了部署

        在开发期间,您只需添加 django.contrib.staticfiles 应用程序,然后按照here 的说明指定 STATIC_ROOT、STATIC_URL 和 STATICFILES_DIRS。

        然后,您需要在基本 urlconf 中添加静态文件的 url 规则,如 here 所述。这就是“开发模式”。

        在生产模式下,您首先运行collectstatic 命令,然后将生成的目录推送到运行您的 apache(或 nginx 或其他)的服务器,并让他在 www.yoururl.com/ 下提供该目录静态的/

        关于在 django 中处理静态文件的整个故事几乎让我发疯......即使在今天,当我试图记住它或解释它时,我也不得不思考几分钟。 :-/ 如果它有时会让您感到困惑,请不要担心。

        【讨论】:

        • 感谢您的澄清。但是,这里的问题是当我访问 URL 时无法访问图片,它应该是(提供静态文件在开发中呈现模板时工作)。
        【解决方案4】:

        我认为这是斜线问题。试试

        STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
        

        【讨论】:

        • 似乎不是这样。尝试进行更改,但我仍然遇到相同的错误。
        • @VascoPatricio 等等,如果您已将文件收集到 /static/images/,那么您的 URL 中的images 是哪里?
        • 好吧,我假设它在 /static/images/ 中,对吗?我收集了媒体,并在我的项目中创建了文件夹 /static/images/。
        • @VascoPatricio 所以你需要像{{ STATIC_URL }}images/items/no_image.jpeg一样引用它
        • 对不起,我弄错了。它是 /static/items/,而不是 /static/images/
        猜你喜欢
        • 1970-01-01
        • 2012-11-04
        • 2021-06-25
        • 1970-01-01
        • 1970-01-01
        • 2021-08-27
        • 2014-11-10
        • 2011-08-26
        • 2015-03-01
        相关资源
        最近更新 更多