django-webpack-loader {% render_bundle 'main' %}で「string indices must be integers」と言われる
Django + Vue.jsの環境作成については、以下の記事を参考にさせていただきました。 settings.pyやwebpack.config等の値も同じように設定しています。 Django + Webpack を使ってVueを動かす - Qiita
ハマったこと
templateの{% render_bundle 'main' %}
でstring indices must be integers
というエラーが発生してしまう。
index.html
{% load render_bundle from webpack_loader %} <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> {% verbatim %} <div id="app"> {{ message }} </div> {% endverbatim %} {% render_bundle 'main' %} <script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }) </script> </body>
冒頭の{% load render_bundle from webpack_loader %}
が動いていない?
一応解決
webpack-bundle-trackerのバージョンを下げる必要があるらしい。
{ "devDependencies": { "vue": "^2.6.11", "vuetify-loader": "^1.4.3", "webpack": "^4.42.1", - "webpack-bundle-tracker": "^1.0.0-alpha.1", + "webpack-bundle-tracker": "^0.4.3", "webpack-cli": "^3.3.11", "webpack-dev-server": "^3.10.3" } }
これで動くようになった。