【问题标题】:Django admin, static files use wrong directoryDjango admin,静态文件使用错误的目录
【发布时间】:2012-10-05 08:06:20
【问题描述】:

我使用的是 django 1.4,当我在设置中有这个时:

STATIC_URL = '/_s/'
STATICFILES_DIRS = (
    ('admin', '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin'),
)

然后访问/_s/admin/css/base.css Django 尝试从不同的路径加载它并写入:

"/usr/local/lib/python2.7/dist-packages/django/contrib/admin/media/css/base.css" does not exist

为什么会这样?

UPD
我用./manage.py runcserver 0.0.0.0:8001

【问题讨论】:

    标签: django settings


    【解决方案1】:

    STATICFILES_DIRS 用于收集静态文件,./manage.py collectstatic。它告诉 Django 要查看哪些文件夹,以便将所有静态文件集中到一个位置。

    当提供静态文件时,Django 只会查看STATIC_ROOT

    Official docs

    【讨论】:

    • 如果我改变 STATIC_ROOT 没有任何改变!它只是继续使用不同的路径,我应该在调试服务器上使用 collectstatic 吗?我只想设置不同的路径。
    • 您如何托管您的项目?运行服务器、apache 等
    • 嗯好的,runserver 应该能找到它。 base.css 真的存在吗?
    • 当然我检查了我写的路径。问题是 django 使用不同的路径!
    【解决方案2】:

    问题出在

    ./manage.py runcserver 0.0.0.0:8001
    

    我使用了并发服务器,而不是默认的 django 调试服务器(我认为它们的工作方式相同(线程除外))

    但事实并非如此=(

    UPD
    从 1.4 开始可以使用 django 调试服务器,默认是多线程的。

    【讨论】:

    猜你喜欢
    • 2015-02-05
    • 2013-01-15
    • 2018-04-14
    • 2015-08-28
    • 2023-02-18
    • 2020-12-11
    • 2013-01-10
    • 2018-05-24
    • 1970-01-01
    相关资源
    最近更新 更多