gpt4 book ai didi

Django 1.4,当 DEBUG=True 时检查静态文件是否存在

转载 作者:行者123 更新时间:2023-12-04 02:21:52 27 4
gpt4 key购买 nike

我正在尝试编写一些代码来检查在 Debug模式下是否存在静态文件,但我无法让它工作。这是我在控制台中尝试过的:

>> from django.conf import settings
>>> settings.DEBUG
True
>>> from django.contrib.staticfiles.storage import staticfiles_storage
>>> staticfiles_storage.exists('img/vi_crumbs_bkg.gif')
False

这失败了,尽管 vi_crumbs_bkg.gif存在于我的应用程序的静态目录中。如果我将其符号链接(symbolic link)到 settings.STATIC_ROOT ,这一切都按预期工作。

那么,有什么办法可以得到 staticfiles_storage.exists在 Debug模式下工作?

(注意:虽然我知道我可以运行 collectstatic 以使其正常工作,但我不想定期运行它以在我积极开发时从我的所有应用程序中收集所有 Assets )

提前致谢 -

最佳答案

我想我有一个解决办法。而不是使用 staticfiles_storage.exists ,我将依靠 Django 的静态文件查找器为我找到文件。像这样:

>>> from django.contrib.staticfiles import finders
>>> finders.find('img/vi_crumbs_bkg.gif')
u'/home/myuser/django_project/app_root/static/img/vi_crumbs_bkg.gif'

这应该非常适合我的需要,因为我需要做的就是检查一个文件是否存在于一个目录中而不是另一个目录中 - 无论它是在应用程序的根目录中还是在 STATIC_ROOT 中。无关紧要。

希望这对其他人有帮助。

关于Django 1.4,当 DEBUG=True 时检查静态文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15366833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com