我正在使用django-require模块https://github.com/etianen/django-require并遇到一些问题
我已将REQUIRE_BASE_URL
设置为“脚本”,而./manage.py require_init
命令则出现错误
OSError: [Errno 13] Permission denied: '/static/js'
将其更改为os.path.join(STATIC_ROOT, 'scripts')
后,命令成功结束。但是在模板标签{% require_module 'main' %}
中,它打印为
<script src="/vagrant/static/scripts/require.js'
将REQUIRE_BASE_URL
更改回'script'后,标记的脚本变为正常
为什么会这样?有任何想法吗?我不想在每次部署项目时更改REQUIRE_BASE_URL
我的设置:
BASE_DIR = '/vagrant'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_STORAGE = 'require.storage.OptimizedCachedStaticFilesStorage'
STATICFILES_DIRS = (
STATIC_URL,
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
)
REQUIRE_BASE_URL = 'scripts'
答案 0 :(得分:0)
import sys
if 'require_init' in sys.argv:
REQUIRE_BASE_URL = os.path.join(STATIC_ROOT, 'scripts')
else:
REQUIRE_BASE_URL = 'scripts'
错误的解决方案,但它的工作原理= \