django是前端还是后端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django是前端还是后端相关的知识,希望对你有一定的参考价值。

参考技术A 演示机型:华为MateBookX 系统版本:win10 APP版本:django3.0django是用在前端。Django是一个基于Python的Web应用框架。它与Python的另外一个Web框架Flask最大的区别是,它奉行“包含一切”的哲学。该理念即为创建Web应用所需的通用功能都应该包含到框架中,而不应存在于独立的软件包中。例如身份验证、URL路由、模板系统、对象关系映射(ORM)和数据库迁移等功能都已包含在Django框架中。虽然看上去失去了一些弹性,但是却可以在构建网站的时候更加有效率。

Django 是用于前端还是后端? [关闭]

【中文标题】Django 是用于前端还是后端? [关闭]【英文标题】:Is Django for the frontend or backend? [closed] 【发布时间】:2012-02-23 06:22:15 【问题描述】:

我经常看到有人声称他们的后端是用 Django 实现的,但 Django 不应该用于前端吗?我假设后端指的是前端指表示的业务逻辑。我错过了什么吗?

【问题讨论】:

第一页site告诉你django是什么:一个高级Python Web框架 【参考方案1】:

(a) Django 是一个框架,而不是一种语言

(b) 我不确定您缺少什么 - 没有理由不能在 Web 应用程序中包含业务逻辑。在 Django 中,您通常希望表示逻辑与业务逻辑分开。仅仅因为它托管在同一个应用服务器上,并不意味着这两层是纠缠在一起的。

(c) Django 确实提供了模板,但它没有提供丰富的库来生成客户端内容。

【讨论】:

但是如果业务逻辑在 Web 应用程序中(单层架构?),那么前端和后端没有区别,对吧?它只是一个单层。 @Kate:您可以在浏览器中拥有所有表示逻辑,在 django 中间层和数据库层中拥有业务逻辑。你也可以有一个单独的 django 项目来提供后端服务。【参考方案2】:

都没有。

Django 是一个框架,而不是一种语言。 Python 是编写 Django 的语言。

Django 是 Python 库的集合,可让您快速高效地创建高质量的 Web 应用程序,并且适用于前端和后端。

然而,Django 以其“Django admin”而闻名,这是一个自动生成的后端,可让您在许多简单的用例中快速管理您的网站,而无需编写太多代码。

更准确地说,对于前端,Django 帮助您进行数据选择、格式化和显示。它具有 URL 管理、模板语言、身份验证机制、缓存挂钩和各种导航工具(例如分页器)。

对于后端,Django 提供了一个 ORM,让您可以轻松地操作数据源,表单(一个独立于 HTML 的实现)来处理用户输入和验证数据和信号,以及一个观察者模式的实现。加上大量特定于用例的漂亮小工具。

对于 Django 没有帮助的其余后端工作,您只需使用常规 Python。业务逻辑是一个相当宽泛的术语。

您可能还想知道 Django 带有应用程序的概念,这是一个解决问题的自包含可插拔 Django 库。 Django 社区非常庞大,因此有许多应用程序可以执行 vanilla Django 没有的特定业务逻辑。

【讨论】:

如果业务逻辑在三层架构中与表示分离,那么业务逻辑应该没有必要使用Django吧?所有“webby”的东西都只存在于表示层,对吧? @Kate:在 django 中,您希望业务逻辑与表示逻辑分离。 Django 还嵌入了用于业务逻辑的工具:ORM 和表单。您不必使用它们,但如果您这样做,它们将使您的开发速度更快。 @kate,我添加了一些额外的解释。请注意,架构的学术定义对您的帮助不如实际尝试一下。最后,更多的是把事情做好,而不是谈论事情。抽象在你实际使用它们时被清除。【参考方案3】:

看来您实际上是在谈论 MVC(模型-视图-控制器)模式,其中逻辑被分成不同的“层”。 Django,作为一个框架,遵循 MVC(松散地)。您拥有包含业务逻辑并直接与数据库中的表相关的模型、实际上充当控制器、处理请求和返回响应的视图,以及处理演示的模板。

Django 不仅仅是其中之一,它还是一个完整的应用程序开发框架,并提供了您为此目的所需的所有工具。

前端与后端都是语义。您可能会构建一个完全“后端”的 Django 应用程序,使用其内置的管理 contrib 包来管理完全独立的应用程序的数据。或者,您可以将其仅用于“前端”,仅使用其视图和模板,但完全使用其他东西来管理数据。大多数情况下,它用于两者。内置管理员(“后端”)提供了一种管理数据的简单方法,您可以在 Django 中构建应用程序以各种方式呈现该数据。但是,如果您愿意,您也可以在 Django 中创建自己的“后端”。您不必使用默认管理员。

【讨论】:

以上是关于django是前端还是后端的主要内容,如果未能解决你的问题,请参考以下文章

django是前端还是后端

django前后端分离与不分离概念

Python / Django 应用程序:带有过滤菜单的酒单。过滤逻辑应该去哪里?前端还是后端?

怎么使用nodejs做前端.java做后端 搭建web工程

jQuery如何实现类似JSTL的功能进行前后端分离?

django+vue前后端分离项目部署