Using Django and Vuejs to create a web application on IRIS: Peeking into the Django framework

wufei123 2025-01-05 阅读:2 评论:0
很长一段时间以来,我一直想学习 Django 框架,但另一个更紧迫的项目始终占据优先地位。和许多开发人员一样,我在机器学习方面使用 Python,但当我第一次学习 Web 编程时,PHP 仍然占据主导地位,所以当我需要选择一个新的复杂框架...

using django and vuejs to create a web application on iris: peeking into the django framework

很长一段时间以来,我一直想学习 Django 框架,但另一个更紧迫的项目始终占据优先地位。和许多开发人员一样,我在机器学习方面使用 Python,但当我第一次学习 Web 编程时,PHP 仍然占据主导地位,所以当我需要选择一个新的复杂框架来创建 Web 应用程序来发布我的机器时学习工作中,我还是转向了PHP。一段时间以来,我一直在使用名为 Laravel 的框架来构建我的网站,这个 PHP 框架向我介绍了现代 Web 编程的模型-视图-控制器模式。让事情变得更加复杂的是,我喜欢使用现代 JavaScript 框架构建我的前端。我最熟悉 Vue.js,因此对于这个项目,我坚持使用 Vue.js,尽管更常见的是人们使用 React。

为什么要使用复杂的框架?学习 Django、Laravel、React 或 Vue 等框架的最大挑战是什么?

每个人都有自己的答案,但我越来越喜欢 MVC 框架,因为它们提供了很多关于如何构建应用程序的指导。它使我不必每次都重新发明轮子。起初,这些框架看起来有些限制和神秘,但一旦我熟悉了结构,我发现添加新功能会更容易。

挑战在于事情可能变得过于简单。像 Django 这样的框架依赖于许多速记或假设,这些速记或假设可能基于熟悉的概念,但在 Django 中具有特定的不熟悉的名称和结构。在我的应用程序中,Django 处理 API 和所有 Web 路由。如果我想添加新的 API 端点,我需要将一个函数添加到 view.py 中的文件中,然后转到 urls.py 文件并添加一条语句来导入该函数,并添加另一条语句来定义该函数所在的 URL。 API端点可用。之后,我需要编辑前端 Vue 组件以使用 javascript 查询该端点以获取数据并向用户显示或操作它。 

一旦我的项目建立起来,添加这样的功能很快。我只需要添加大约四行代码,然后我就可以专注于views.py 文件中新函数所需的逻辑,以处理 HTTP 请求并以 JSON 格式返回所需的数据。具有挑战性的部分是了解这些文件是什么以及它们如何协同工作来创建整个应用程序。

我发现学习像 Django 这样的框架的最佳方法是找到一个工作示例并开始尝试进行小的更改以了解数据流。当概念开始变得更加清晰且更有意义时,请参阅文档。要求人工智能模型解释代码片段以及框架中不同标准文件的作用。很快我们就会意识到这些工具的出现是为了从长远来看节省时间并简化应用程序的维护和更新。由于 Django 和 Vue 框架具有标准结构,因此当您稍后再回顾它们时,您会发现更容易理解为什么以某种方式编码,并且更容易重新熟悉您的工作。由于您熟悉他们的应用程序的基本结构,因此更容易学习别人的应用程序并理解核心功能。 

那么 Django 的一些基础知识可以帮助人们入门吗?对我来说,首先要了解的是,Django 项目是通过运行命令来创建新的 Django 项目而生成的,这会生成一组基本文件和文件夹,这些文件和文件夹构成了可用于开始构建的“基础项目”。项目文件夹将包含几个 python 文件,其中的设置适用于整个项目。您会发现自己经常访问的重要文件是 settings.py(所有设置都在其中)和 urls.py。当您有“Django 如何决定将静态文件放在哪里”之类的问题时,答案通常位于 settings.py 中的某个位置。当您想要向应用程序添加新 URL 时,您需要更新 urls.py 文件。 

除了这些项目级文件之外,您还可以为项目中的每个应用程序创建一个文件夹。然后需要在 settings.py 文件中注册(即命名)这些应用程序。我的项目中的主应用程序文件夹称为文档。在该文件夹中,我有一个 models.py 文件、一个 serializer.py 文件、一个views.py 文件。还有其他的,但这是重要的三个。

在 models.py 中,我指定了我的 Document 对象及其具有的字段。 Django 帮我在 IRIS 数据库中创建一个 Documents 表,其中包含保存我计划存储在 Document 对象中的信息所需的架构。在我的 models.py 文件中,我告诉它我的文档都有一个名称(不超过 255 个字符的字符串)、一个内容字段(只是大量文本)以及一个数据库名称(其中向量)存储(另一个文本字段)、嵌入类型(另一个文本字段),最后是向量嵌入维度(一个数字)。使用这些定义,Django 创建具有必要列类型的必要数据库表。将对象保存到数据库就像 Document.save() 一样简单。

serializer.py 文件内部只是一个关于如何将对象转换为 JSON 的定义,反之亦然。对于基本用例,有一个标准方法来定义它,您可以在这个项目中看到它。

现在我们进入 Django 的重点,views.py 文件。我们在这里定义接受 HTTP 请求并返回数据(例如整个 HTTP 响应)或 JSON API(如果是 JSON API)的函数。这意味着 Django 可以提供整个网页,也可以作为您应用程序的前端,或者它可以只提供 JSON 数据,您可以在完全不同的平台上构建您的前端。

一开始使用所有这些看似任意的文件和约定可能会让人感觉很麻烦,但是一旦您发现这样做意味着您的应用程序刚刚开始工作并处理 HTTP 请求并提供正确的数据作为响应,它就可以不断构建新的特性和功能是非常有趣的。一旦您定义了一个对象、Web 路由和函数来处理 HTTP 请求,您就会意识到定义第二个和第三个对象来向应用程序添加功能是多么容易。

我从 github 上的 @guillaume.Rongier7183 创建的 Iris Django 模板中分叉了我的项目:https://github.com/grongierisc/iris-django-template

该模板仅包含 Django,对于学习 Django 框架非常有帮助。 我所做的主要添加之一是添加带有 Tailwind CSS 的 Vue.js,以表明您可以将现代 Javascript 框架与此包集成,并在 IRIS 上运行单页应用程序。单页面应用程序是一个 JavaScript 应用程序,它发送 xhr 请求以获取 JSON 数据并动态更新页面,而无需完全重新加载页面。它有其优点和缺点,但它是现代 Web 开发的标志。

我鼓励人们不仅将我的项目视为 IRIS 上的 RAG 和 Vector Stores 的示例,而且将其视为使用 Django 与 Vue.js 和 Tailwind 的模板,以便在其之上轻松快速地创建现代灵活的 Web 应用程序虹膜。该存储库位于 Github 上:https://github.com/mindfulcoder49/iris-django-template

我很乐意回答任何问题或提供任何见解,以了解任何人在尝试调整此项目以供自己使用时可能遇到的任何问题。

以上就是Using Django and Vuejs to create a web application on IRIS: Peeking into the Django framework的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

    华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
    华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
  • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

    惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
    本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
  • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

    酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
    本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
  • Nginx服务器的HTTP/2协议支持和性能提升技巧介绍

    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍
    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍 引言:随着互联网的快速发展,人们对网站速度的要求越来越高。为了提供更快的网站响应速度和更好的用户体验,Nginx服务器的HTTP/2协议支持和性能提升技巧变得至关重要。本文将介绍如何配置Nginx服务器以支持HTTP/2协议,并提供一些性能提升的技巧。 一、HTTP/2协议简介:HTTP/2协议是HTTP协议的下一代标准,它在传输层使用二进制格式进行数据传输,相比之前的HTTP1.x协议,HTTP/2协议具有更低的延...
  • 两个表格切换的快捷键是什么

    两个表格切换的快捷键是什么
    两个表格切换的快捷键是“ctrl+pageup”和“ctrl+pagedown”,按键盘上的“ctrl+pageup”键是向右切换表格,按“ctrl+pagedown”键是向左切换表格。 本教程操作环境:windows7系统、Microsoft Office Excel2010版、Dell G3电脑。 两个工作表之间切换是Ctrl+Tab,两个工作簿之间切换是Ctrl+PageUP和Ctrl+PageDown。 打开Excel表格,打开几个工作簿。 按键盘上的Ctrl+P...