在开发过程中有没有办法模拟django collectstatic命令?

时间:2017-07-08 14:55:49

标签: python django

我正在使用React App,之后我想创建一个bundle.js文件并将其放在 assets / bundles / 文件夹中。

我正在使用django-webpack-loader

这是 settings.py 文件:

INSTALLED_APPS = (
 ...
 'webpack_loader',
)

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'assets'),
)

STATIC_URL = '/media/static/'

WEBPACK_LOADER = {
    'DEFAULT': {
        'BUNDLE_DIR_NAME': 'bundles/',
        'STATS_FILE': os.path.join(BASE_DIR, 'webpack-stats.json'),
    }
}

这是 template.html

<div id="container"></div>

{% load render_bundle from webpack_loader %}
{% render_bundle 'main' %}

我得到的错误是:

  

获取 example.com/media/static/bundles/bundle.js 404(未找到)

如果我跑

  

python manage.py collectstatic

它会将 bundle.js assets / bundles / 移至 media / static / bundles 。但是,每当我更换捆绑包时,我都不想运行它。

django-webpack-loader文档中,没有运行collectstatic命令,但仍然可以访问bundle.js,就像它在静态文件夹中一样。但实际上它位于资产中。

1 个答案:

答案 0 :(得分:0)

这是你在找什么?

./manage.py collectstatic --noinput

如果您有很多重复项,可以使用--clear方法

./manage.py collectstatic --clear

如果您在添加软件包时遇到困难,可以搜索JS的路径,如:

./manage.py findstatic js/bundle.js

详细了解命令here