首页 > 解决方案 > Django在依赖项中缺少静态文件清单条目

问题描述

我正在处理一个 django 项目(我们称之为django-project)和一个抽象的依赖项(我们称之为django-dependency)。该依赖项包含一些静态文件,这些文件也体现在其Manifest.in. django-dependency已安装在环境中并且文件在那里,manage findstatic django-dependency/js/some-file.js成功在环境中找到该文件。

django-project当 DEBUG 为 True 且不更改STATICFILES_STORAGE. 但是,当使用 DEBUG=False 在管理面板中保存对象时,我收到错误 500 并显示消息:Missing staticfiles manifest entry for 'django-dependecy/js/some-file.js'manage.py collectstatic与默认值一起使用STATICFILES_STORAGE

当我更改STATICFILES_STORAGEdjango.contrib.staticfiles.storage.ManifestStaticFilesStorage. 我无法manage.py collectstatic甚至manage.py findstatic(我收到与上述相同的错误)。什么时候STATICFILES_STORAGE默认我可以这样做findstatic但是如上所述应用程序在保存某些对象时会中断(django-dependency 是一个管理小部件)。能够运行django-dependency时工作正常(功能符合预期) 。django-project

django-project 的静态文件配置:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'files', 'public', 'static')
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'files', 'dist')]

我应该以某种方式配置django-dependency静态文件吗?Manifest.in 已经包含所需的静态文件?我真的不知道。这是 django-dependency 中的文件的使用方式:

class DjangoWidget(forms.Textarea):
    class Media:
        js = [
            static('django-dependency/js/some-file.js'), # again: found correctly with findstatic
        ]
        css = {
            'all': [static('django-dependency/js/some-file.css')],
        }

标签: python-3.xdjangodjango-staticfilespython-3.9

解决方案


推荐阅读