【问题标题】:Django + Vue with multiple apps带有多个应用程序的 Django + Vue
【发布时间】:2019-02-05 20:29:06
【问题描述】:

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

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

  • 如何在 Vue 中提供“插件挂钩”来加载这些组件?我所看到的所有东西(使用 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 vue.js dynamic plugins django-webpack-loader


【解决方案1】:

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

【讨论】:

  • 嗯 - 一定要使用 webpack-loader。但是你能举一个例子,如何将多个 Django 应用程序的前端“捆绑”到一个全局前端吗?因为这就是问题所在。我会把它添加到我原来的问题中。
  • “几个 VueJS 应用程序” - VueJS 应用程序是什么意思?独立的应用程序,都使用 Django 后端 API?还是您的意思是“带有 VueJs 前端的 Django 应用程序”?
  • 我指的是由 django 视图/模板引导的独立 vue 应用程序。他们使用了 django API。但是我放弃了这种方法。目前我开发完整的 vue 应用程序(SPA 或 nuxt),并使用 django 作为 API 服务器。
  • 好的,以前从未见过,这正是我想要的。由 Django 模板引导的“独立”Vue 应用程序。你有任何代码要分享;-)?
  • 我使用了 django-webpack-loader。在模板引导程序上:github.com/owais/django-webpack-loader#templates 每个独立的应用程序都与一个 webpack 项目相关联。 github.com/owais/…
猜你喜欢
  • 1970-01-01
  • 2012-06-14
  • 2020-03-22
  • 2012-10-10
  • 2014-08-30
  • 2014-01-08
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多