【问题标题】:Static Assets in Django not Finding STATICFILES_DIRSDjango 中的静态资产未找到 STATICFILES_DIRS
【发布时间】:2013-02-12 08:34:07
【问题描述】:

这是我在尝试加载 {{STATIC_URL}}img/memestatlogo2.jpg 时收到的错误。为什么 django 没有在 STATICFILES_DIRS 中查找 img/memestatlogo2.jpg?

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/static/img/memestatlogo2.jpg

Using the URLconf defined in memestat.urls, Django tried these URL patterns, in this order:
^$
The current URL, static/img/memestatlogo2.jpg, didn't match any of these.

这是我的 settings.py 中的相关配置

STATIC_ROOT = ''

STATIC_URL = '/static/'

STATICFILES_DIRS = ('/home/ryan/Programming/OpenCV-2.4.2/msheroku/memestat/stats/')

然后图像位于

'/home/ryan/Programming/OpenCV-2.4.2/msheroku/memestat/stats/img/memestatlogo2.jpg'

【问题讨论】:

    标签: django django-staticfiles


    【解决方案1】:

    STATICFILES_DIRS 仅在您执行collectstatic 命令时使用。然后将文件复制到STATIC_ROOT,在上面的示例中未设置。

    您需要将STATIC_ROOT 设置为您希望复制静态文件的目录。此目录还包含您的项目范围的静态文件,这些文件不属于任何应用程序,例如 robots.txt、favicon.ico、您的徽标和背景图像。

    【讨论】:

    • 在没有 STATICFILES_DIRS 的情况下如何加载静态资产?
    • 如果 debug=True,内置调试服务器(runserver 命令)将从 STATIC_ROOT 提供文件。这就是它的全部。
    • 您可以使用 collectstatic 将文件复制到 STATIC_ROOT。默认情况下,collectstatic 在两个位置查找文件:1. 每个已安装应用程序中的 /static/ 目录和 2. STATICFILES_DIRS 中列出的每个目录
    • 如何运行 collectstatic? python manage.py collectstatic 给我一个错误,当我查看帮助时,它似乎不是一个选项。
    • 我改了STATIC_ROOT并把相关图片放在那里,还是没有骰子
    猜你喜欢
    • 2014-06-07
    • 2019-09-23
    • 2019-09-09
    • 2016-11-20
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 2018-12-07
    • 2021-01-25
    相关资源
    最近更新 更多