Django Webpack Loader:“Assets” KeyError?

6

我最近将一个Django应用程序升级到了当前的Django和Python版本,并更新了我的pip包。现在出现了以下错误:

Django Version:  3.2.3
Exception Type:  KeyError
Exception Value: 'assets'
Exception Location: /my/env1/lib/python3.8/site-packages/webpack_loader/loader.py, line 90, in get_bundle

通过查看异常位置,我发现:

在这里输入图片描述

...并且查看 assets,确认它没有名为 assets 的键:

在这里输入图片描述

我该如何解决这个问题?

3个回答

9
今天我遇到了同样的问题,所以我想分享一下我的解决方案。根据django-webpack-loader文档,你需要确保在你的Javascript端使用webpack-bundle-tracker@1.0.0。你可以降级到django-webpack-loader 0.7.0,但如果你的前端捆绑包很大,你可能能够从最新版本中受益于代码拆分。请参见这个问题

这是正确的答案。必须确保Django和Node两端的版本兼容。请注意,webpack-bundle-tracker@1.0.0也会创建不同的捆绑结构(通常只有一个“main”块组,与版本<=0.7.0将创建的“main”、“runtime”和“vendors”组形成对比)。 - superk
你救了我的一天! - Ron

7

我正在使用 Django 3.0.10 版本。将 django-webpack-loader 从 1.0.0 降级到 0.7.0 可以解决该错误。


我安装了0.7.0版本,但现在出现了“ModuleNotFoundError: No module named 'webpack_loader'”错误。 - AnonymousUser
我卸载并重新安装了django-webpack-loader,现在没有错误了,但是vue代码没有显示出来。 - AnonymousUser

3

我之前也遇到了同样的问题,尝试使用以下解决方案成功解决。

卸载前端中的webpack:

npm install --save-dev webpack-bundle-tracker

从前端安装Webpack版本1.1.0:

npm install --save-dev webpack-bundle-tracker@1.1.0

你可以开始了。

如果这不能解决问题,你应该检查 https://pypi.org/project/django-webpack-loader/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接