将 Vue 与 Django 结合使用

2024-01-11

我最近开始使用 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(使用前将#替换为@)

将 Vue 与 Django 结合使用 的相关文章

随机推荐

  • 使用libavcodec解码H264视频,C

    我正在尝试使用 ffmpeg libavcodec 解码原始 h264 文件 但无法使其正常工作 目前输出应该是原始 YUV 文件 可以用GCC编译代码 gcc o decoder decoder c L lib llibavcodec l
  • 如何使用java.sql.Date节省时间?

    目前 在我的代码中 我正在使用以下 setter 方法将当前日期和时间保存到数据库 但它只保存日期 而不保存时间 emp setJoiningDate new java sql Date System currentTimeMillis 方
  • 可以在 Folium 中绘制路径吗?

    我阅读了许多与此相关的文档 但找不到我想要的东西 我想绘制两点之间的步行路径 是否可以 如果没有 python 中是否有其他库用于此目的 当然可以 使用PolyLine https python visualization github i
  • 无法使用 Google 云存储和 Cloud Functions for Firebase 下载文件

    我遇到的问题与此相反 使用 Cloud Functions for Firebase 和 google cloud storage 删除图像时出现问题 https stackoverflow com questions 43178152 i
  • 有 C++11 CSPRNG 吗?

    众所周知 梅森扭转者加密上不安全 http www math sci hiroshima u ac jp m mat MT efaq html Mersenne Twister 不具有加密安全性 MT 是基于 线性递归 任何由 a 生成的伪
  • 更改默认值“{0} 字段为必填项”(最终解决方案?)

    再会 我有以下用于登录表单的 ViewModel 类 using System ComponentModel DataAnnotations public class UserLogin IDataErrorInfo Required Di
  • 使用 jquery 从 CDATA 和描述标签中获取图像

    如何从 CDATA 和描述标签中获取图像 下面是 XML 代码
  • JavaScript:document.getElementById() 返回 NULL

    我对 Javascript 还很陌生 但 document getElementById 遇到了一个问题 它总是返回 NULL 这让我抓狂 我的代码中有一个元素 我想获取它的坐标 以便可以移动它 这是代码
  • UIDevice currentDevice 模型可能值

    返回的所有可能值是多少 UIDevice currentDevice model 它不是有记录的 http developer apple com library ios documentation uikit reference UIDe
  • Telerik MVC Extensions Grid - 如何将网格过滤器应用于初始 LINQ 查询或传递到数据库?

    目前 在我的 MVC 网格中 我使用普通的服务器绑定 然后将过滤器作为查询字符串附加到 URL 此方法的问题是 如果我查询默认情况下有数千条记录的网格 但我只在网格的第一页 分页过滤器 上显示前 30 条记录 同样的事情也适用于姓氏的字符串
  • Servlet 中的参数化构造函数

    我可以在 servlet 中声明参数化构造函数吗 如果没有那么为什么 No Servlet 实例由容器通过反射创建 它们期望找到一个公共的 无参数的构造函数 默认构造函数 要配置 servlet 请使用 web xml 文件中指定的 ser
  • 具有多个数据库的 SSAS 立方体

    我有 3 个具有相同结构但数据不同的数据库 因为它们来自不同的客户端 现在 我有一个现有的 SSAS 项目 其数据源视图 多维数据集和维度只能使用或访问一个数据库 我想要的是能够使用具有相同结构的多个数据库 并使用它们创建一个多维数据集 每
  • 奇怪的指向成员函数的指针语法

    我了解如何声明函数的类型 typedef void typedef void f typedef void f is void using alias void f void alias void f is void 它可以用来声明函数指针
  • 在 JPA Criteria API 的子查询中使用 ORDER BY 的替代方法有哪些?

    考虑以下两个表 Project id project name Status id id project status name Where Status包含所有状态 其中Project已经是 假设我们要查询最新状态名称为 new 的所有项
  • 了解 Django CSRF_COOKIE_SAMESITE 和 CSRF_TRUSTED_ORIGINS

    显然 我无法理解跨域环境中 Django 2 2 4 设置对 CSRF 参数的影响 正如我已经注意到的那样 我必须设置SESSION COOKIE SAMESITE None如果我想将我的 Django 应用程序放入具有另一个域的网站的 i
  • symfony2自定义表单日期时间渲染

    我有一个表单 其中的日期时间呈现为 5 个选择输入 d MM YYYY H i builder gt add date datetime array data gt new DateTime now default value format
  • 使用jquery进行POST,如何正确提供'data'参数?

    我想以 POST 方式进行 ajax 调用 它将转到我的 servlet 我想发送参数化数据 如下所示 var mydata param0 some text param1 some more text 我将其作为 jquery ajax
  • Node.js在typeorm实体中添加created_at和updated_at

    I have task像这样的实体 import BaseEntity Column Entity PrimaryGeneratedColumn from typeorm Entity export class Task extends B
  • 如何自定义 Jenkins 构建名称?

    当我在 Jenkins 中运行作业时 每个构建都会被赋予一个名称 该名称显示在构建历史记录的 UI 中 基本上是当前日期和时间 我希望能够在那里输入构建参数 以便我可以在构建历史记录中看到哪些分支已构建以及何时构建 我已经搜索过可以执行此操
  • 将 Vue 与 Django 结合使用

    我最近开始使用 Django 开发一些社交媒体网站 我使用默认的django模板引擎来填充我的页面 但此刻我想补充一点javascript使网站更具活力 这意味着 页眉和页脚是每页都一样 标题应该有一个下拉菜单 一个在您键入时进行搜索的搜索