具有多个应用程序的 Django + Vue

标签 django vue.js dynamic plugins django-webpack-loader

Internet 上有大量关于如何正确使用 Django 和 Vue(在各种选项中)的教程和有用的帖子。 但是我没有找到任何人描述如何创建包含多个应用程序的 Django 应用程序,每个应用程序都有自己的 Vue 前端部分

我正在创建一个带有 Vue 前端的 Django 应用程序,它将有很多应用程序可以很容易地插入主系统(使用自定义框架)。但这只是后端。我想让每个 Django 应用程序在前端也有一个“插件”部分:例如当此应用程序添加到 INSTALLED_APPS 中时,一组在前端“动态”呈现的 Vue 组件。

  • 如何在 Vue 中提供“插件 Hook ”来加载这些组件?我所看到的所有东西(使用 webpack-loader 等通过 webpack 加载动态/惰性组件)都不是我想要的。它仅描述了如何在 http 请求时间线中加载稍后预定义的组件。

  • 我应该如何“合并”所有组件?我可以简单地在静态文件夹中创建组件,然后让 ./manage.py collectstatic 发挥作用吗?

无论应用程序是 SPA 还是我必须使用 Django 模板(包含 Vue 组件)都没有关系 - 两者都是可行的方法。

也许这甚至是一个 webpack 问题,应该是:如何让 Vue(或 React 等)从不同的子目录(如 foo_app/static/、blah_app/static/、bar_app/static)收集其源代码 - 是否有告诉 Vue/Webpack/etc 在 myproject/*/static 中搜索要合并的 Vue 组件的方法? 我可以包括“所有组件”(动态量)而不是另一个组件,这是这样一个系统所需要的吗?

任何人都可以在这里启发我 - 这是完全不可能的吗?还是我想错了方向?

谢谢。

最佳答案

我的 django 站点中有几个 VueJS 应用程序,我打算添加更多。 我在 django-webpack-loader 的帮助下将它们与 webpack 捆绑在一起。 https://github.com/owais/django-webpack-loader

关于具有多个应用程序的 Django + Vue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104733/

相关文章:

Django render_to_string() 忽略 {% csrf_token %}

python - gae 我可以将本地mysql迁移到cloudsql吗

javascript - 将数据从包含槽内容的组件传递到该槽内容组件

javascript - Vue 3 defineEmits 打破了 defineProps 类型

sql-server - 在 SQL Server 中使用带有动态查询的日期时间

Django,Vue - 如何将 prop 从 Django 传递到 Vue

django - 如何在字段集中显示 Django 管理内联模型?

javascript - 如何构建响应式 Vuetify 应用栏

c - 动态数组分配困惑

scala - 如何在多个字段上动态排序 scala 列表