我最近开始使用 Django 开发一些社交媒体网站。我使用默认的django模板引擎来填充我的页面。但此刻我想补充一点javascript使网站更具活力。这意味着:
- 页眉和页脚是每页都一样。标题应该有一个下拉菜单,一个在您键入时进行搜索的搜索表单。
- 我当前的 django 应用程序有一个基础模板具有页眉和页脚 HTML,因为每个页面都应该具有此内容。
- 该网站包括多页,想想索引页、个人资料页、注册页。每个页面都有一些共同的但也有很多不同的动态组件。例如,注册页面应该动态进行表单验证,但个人资料页面不需要这个。个人资料页面应该有一个无限滚动的状态提要。
我想使用Vue来处理动态组件,但我不知道应该如何开始。该应用程序不应是 SPA。
- 我该怎么办结构Vue 代码?
- 我该怎么办bundle这。使用咕噜声?或者可能django-webpack-loader https://github.com/owais/django-webpack-loader?
- 我应该仍然能够使用 Django 模板标签,例如我希望能够使用
{% url 'index' %}
在下拉菜单中。
这看起来像一个opinion基于问题,没有明确的答案。
你提到你这样做not希望该应用程序成为单页应用程序 (SPA)。如果是的话,使用 Vue 的动机是什么?处理页面内的用户交互?
Vue 在非 SPA 环境中可以完美工作。它将帮助您处理页面内丰富的交互,例如将数据绑定到下拉列表、表单等。但是,当您在 SPA 上下文中使用 Vue 时,它的真正威力就会显现出来。
对于你的情况,我建议使用 Vue.js独立的模式,您可以在其中快速定义template
在 Vue 组件中,轻松将所有代码写入一个 javascript 文件中。
这是您需要的:https://vuejs.org/guide/installation.html#Standalone https://vuejs.org/guide/installation.html#Standalone
在“Vue.js 独立模式”中,不需要任何 webpack 构建系统或vue-cli
。您可以直接在现有的 django 开发环境中构建应用程序。gulp
可以选择正常地缩小和捆绑您的 javascript 文件,就像您对基于 jQuery 的应用程序所做的那样。
Vue.js 使用双花括号{{..}}
对于模板,因此它不会干扰您的 django 模板字符串。
Vue.js 的所有 jsFiddle 示例都运行在独立模式。这正是您此时所需要的。您可以查看最近的一些问题vue.js
标签,找到一个示例 jsFiddle 并看看它是如何完成的。
对于复杂的 SPA 应用程序,您需要与服务器端分开构建 Vue 代码,使用虚拟 AJAX 调用对其进行彻底测试,构建用于生产,然后将最终的生产构建放入服务器中进行端到端测试。这是你将来可以做的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)