对于名为ALTER TABLE student ADD CONSTRAINT studentid_pk PRIMARY KEY (studentid);
的软件包,我有一个非常标准的Django软件包布局,其中Python源位于wptst
,而Javascript源位于wptst/wptst/...
:
wptst/js/*.js
Django希望在wptst
`-- js
| `-- wptst-source.js
|-- package.json
|-- webpack.config.js
`-- wptst
|-- static
| `-- wptst
| |-- wptst.js
| |-- wptst.min.af2dc5001a126702513d.js
| `-- wptst.min.af2dc5001a126702513d.js.map
`-- templates
`-- wptst
`-- include-script.html
下编译资源
问题是最后一个文件wptst/wptst/static/wptst/..
。我想将其包含在其他模板中
include-script.html
所以我不必手动编辑生成的.js文件中的哈希值。 为此,我希望它包含以下内容:
{% include "wptst/include-script.html" %}
我几乎已经将它与webpack.config.js中的以下内容一起使用
{% load staticfiles %}
<script src="{% static "wptst/wptst.min.af2dc5001a126702513d.js" %}"></script>
以及entry: {
wptst: './js/wptst-source.js'
},
target: 'web',
output: {
path: path.resolve(__dirname, 'wptst/static/wptst'),
filename: 'wptst.min.[contenthash].js',
library: 'wptst',
libraryTarget: "var"
},
plugins: [
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, 'wptst/templates/wptst/include-scripts.html'),
inject: false,
template: 'wptst/templates/wptst/include-template.html'
})
]
中的以下内容:
include-template.html
但它会生成
{% load staticfiles %}
<% for (var jsfile in htmlWebpackPlugin.files.js) { %>
<script src="{% static "wptst/<%= htmlWebpackPlugin.files.js[jsfile] %>" %}"></script>
<% } %>
如果我将文件输出到包的根目录,然后移走文件,我可以摆脱<script src="{% static "wptst/../../static/wptst/wptst.min.af2dc5001a126702513d.js" %}"></script>
的问题,但这似乎不太合算。
还有更直接的方法吗?