由于某种原因,djangobower.finders.BowerFinder
要加载的静态文件未加载(在服务器中找不到404)
settings.py
STATIC_ROOT = "/root/Desktop/django-DefectDojo/static/"
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'djangobower.finders.BowerFinder',
)
BOWER_COMPONENTS_ROOT = '/root/Desktop/django-DefectDojo/components/'
BOWER_INSTALLED_APPS = (
'jquery-ui',
)
INSTALLED_APPS = (
'djangobower',
)
模板
<script src="{% static "jquery-ui/jquery-ui.min.js" %}"></script>
项目结构
-project root
-static
-components
-vendor
-assets
-bower-components
-jquery-ui
-jquery-ui.min.js
我执行./manage.py bower install
后跟./manage.py collectstatic
现在,在运行服务器时,我找到了一个Not Found。
但是,当我创建STATICFILES_DIRS = ('/root/Desktop/django-DefectDojo/components/vendor/assets/bower_components/',)
时,静态文件会被加载。
但事实并非如此,因为BowerFinder
应该这样做。
答案 0 :(得分:0)
似乎这不是一次性的例子。当django-bower
的{{1}}无法找到所提供的finders.py
变量中的bower_components
或components
目录时,就会发生这种情况 - 这看起来就像它看起来一样对
无法执行此操作,因为BOWER_COMPONENTS_ROOT
现在创建bower install
目录,如下所示:
bower_components
反对:
-projectroot
-components
-vendors
-assets
-bower_components
-
-
解决此问题的最简单方法是设置-projectroot
-components
-bower_components
-
-
,而不仅仅是BOWER_COMPONENTS_ROOT = os.path.join(PROJECT_ROOT, 'components\vendors\assets')
来自BOWER_COMPONENTS_ROOT = os.path.join(PROJECT_ROOT, 'components')
的回复的相关帖子:
https://github.com/nvbn/django-bower/issues/20
答案 1 :(得分:0)
鲍尔直接在我的Django根目录中创建了bower_components
。
因此,我只需要在settings.py
中进行此操作:
BOWER_COMPONENTS_ROOT = BASE_DIR