【Django入门】什么是Django?Django的基本处理流程
假设
・什么是Django?我们将解释关于Django的整体概念。
・这是一篇针对初学者和IT初学者想在Python中尝试创建Web应用程序的文章。
Django是什么?
Django是Python的框架。框架是提供了常用功能,如页面之间的跳转、数据注册、邮件发送、基本安全设置等预先准备好的工具。
为什么要使用Django?
正如上面所提到的那样,Django为Web应用程序预先提供了常用的功能。
使用Django可以使开发者无需从零开始创建经常使用的功能。
另外,Django是一种提供免费开放源代码的工具。
既然可以免费使用且操作不复杂,所以在使用Python创建Web应用程序时,没有理由不使用它。
Django的整体概览

假设我们用Django创建Twitter等社交媒体应用。
每个社交媒体应用都在一个项目中进行管理。
SNS应用拥有多种功能,比如”会员注册功能”,”评论发布功能”,”点赞功能”等。每个功能都对应着各个应用。(例如,”应用1″负责管理”会员注册功能”,”应用2″则负责”评论发布功能”。。。等等)
通过每个应用程序单独管理一个功能,可以使得程序的修改更加容易。
如果将所有功能都堆积在一个应用程序中,
几周或几个月后,会出现“嗯…那个功能是写在哪个文件的哪里来着?”的情况。
为了避免这种情况发生,将每个功能整理到一个目录(应用程序)中,管理就会变得更容易。
在企业或其他团队进行开发时,
诸如“请A先生开发会员注册功能”、“请B先生负责评论发布功能”等等,
在将每个功能分配给对应的负责人时,这种构建多个应用程序的方式非常有用。
在构建一个项目有多个应用程序的情况下,
对于个人只是开发小规模应用程序的情况来说,可能难以感受到其中的好处,
但对于集体开发和代码量达到几千到几万的大型系统开发来说,我认为很容易感受到效果。
Django应用程序的处理流程
我想要解释一下用户在Safari和Chrome等浏览器上操作Django开发的Web应用程序时的流程。
这个图表展示了一个使用Django开发的网站,在用户进行会员注册时,系统内会进行哪些处理操作。
请跟着处理流程,回想起在您常用的社交媒体和购物网站上注册会员时的情景。

-
- 用户通过浏览器访问网站注册页面。然后,输入必填字段,如姓名和电子邮件地址,并点击页面上的注册按钮。同时,系统会收到一个名为“会员注册,请多关照!”的请求。
项目的路由接收到收到的请求(路由可以分为项目和应用两类)。根据请求类型,项目路由将判断将信息传递给哪个应用程序。本次将信息传递给负责会员功能的“应用程序1”,告诉它有会员注册请求。
应用程序的路由接收项目路由发送的信息。本次将信息传递给负责会员功能中的会员注册的“视图1”。
“视图1”将用户的会员信息传递给表单。表单将对接收到的信息进行验证(检查是否输入了正确的值)。
表单将验证结果返回给“视图1”。如果没有问题,输入数据的准备工作就完成了。
“视图1”将用户的会员信息传递给模型。模型是负责与数据库交互的部分。
模型将从“视图1”接收到的信息告诉数据库“请注册此信息!”。
数据库将注册过程的结果传达给模型。
模型将从数据库接收到的信息传递给“视图1”。
“视图1”根据从模型接收到的数据库信息,创建模板并生成浏览器屏幕上的界面。
模板返回创建的界面。
作为对请求的回应(响应),返回屏幕界面。这样用户的会员注册就完成了,某些Web服务会跳转到首页,或显示类似“注册已完成!”等消息屏幕。
到目前为止,这就是Django主要的处理流程。
在某些情况下,可能无需使用表单或模型进行处理。例如,对于不需要注册数据的服务,或者简单地进行页面跳转等。
Django的组成组件
我想逐一总结一下刚才提到的五个部件的作用。
路由
将用户的请求传达给相应的视图。例如,将会员注册相关的请求传给视图1,将评论发布功能相关的请求传给视图2,以此类推。
路由主要包括项目路由和应用程序路由。
请提供更多的上下文,以便我能够正确地为您提供答案。谢谢!
扮演着连接各组件的角色并且在应用程序中担任核心职责。
表格
用户在屏幕上输入的值将在Django内部保留,并进行输入值的正确性检查,例如姓名和地址是否为全角字符,是否超过字符限制,邮箱地址是否包含@符号,密码是否包含字母和数字等。
顺便一提,我们将输入值的检查称为验证。
模特儿 (mó tè ér)
通过使用模型,可以在Python中进行与数据库的交互,无需编写SQL语句,可以执行数据库操作(如数据的插入、更新、删除等)。
模板
创建界面。
从数据库中获取的信息可以通过视图接收,并根据它们生成界面。
比如像亚马逊这样的购物网站,每个用户的购买历史界面显示都是不同的。
那种界面也是根据数据库中注册的数据来生成每个用户的界面。
总结
-
- Djangoは、Python用のフレームワーク。
-
- フレームワークはあらかじめよく使われる機能を用意してくれているため、オリジナルの機能に注力でき、開発の効率が上がる。
-
- Djangoは1つのプロジェクトと複数のアプリケーションから構成される。
- Djangoは役割毎に5つの部品に分けられる(ルーティング、ビュー、フォーム、モデル、テンプレート)
我认为仅通过文字来解释处理流程会不太容易理解,所以实际上动手去做一些东西会更容易理解。
请参考
-
- 動かして学ぶ!Python Django開発入門 第2版 – 翔泳社
- django Documentation – Writing your first Django app, part 1