Django 是什么?

Django (/ˈdʒæŋɡoʊ/jang-goh) 是用 Python 写的一个自由和开放源码 web 应用程序框架。 web框架是一套组件,能帮助你更快、更容易地开发web站点。

当你开始构建一个web站点时,你总需要一些相似的组件:处理用户认证(注册、登录、登出)的方式、一个管理站点的面板、表单、上传文件的方式,等等。

幸运的是,其他人很早就注意到web开发人员会面临一些共同的问题。所以他们联手创建了 web 框架(Django 是其中一个)来让你使用。

由于框架的存在,你无需重新发明轮子就能建立新的站点。

你为什么需要一个框架?

要理解什么是Django, 我们需要更仔细的看一下服务器。 服务器需要知道的第一件事就是你希望它为你的网页做什么。

想象一个用来监控接收邮件(请求)的邮箱(端口)。 这就是网站服务器做的事情。 网站服务器读这封信,然后将响应发送给网页。 但是当你想发送一些东西的时候,你必须要有一些内容。 而Django就是可以帮助您创建内容的工具。

当有人向您的服务器请求一个网站,会发生什么呢?

当一个请求到达网站服务器,它会被传递到Django,试图找到实际上什么是被请求的。 它首先会拿到一个网页的地址,然后试图去弄清该做什么。 这个部分是由Django的urlresolver(url解析器。注意一个网站的地址被叫做URL,统一资源定位器,所以url解析器是有意义的)。 它并不十分聪明,他接受一个模式列表,然后试图去匹配 URL。 Django从顶到底检查模式,如果有匹配上的,那么Django会将请求传递给相关的函数(这被称作视图)。).

想象一个邮递员拿着一封信。 她沿着街区走下去,检查每一个房号与信件地址是否对应。 如果匹配上了,她就把信投在那里。 这也是url解析器的工作方式!

视图函数里做了很多有趣的事情:我们能在数据库中寻找到一些信息。 如果用户要求修改数据呢? 就像一封信里说,“请修改我的工作描述”,视图 将检查是否你允许它这么干,然后更新工作描述并发回一个消息:“做完了”。 然后视图生成响应,并且Django能够发送给用户的web浏览器。

当然,上述的描述是有一些简化的,但是你不需要去知道所有的技术的东西。有一个大概的想法就够了。

所以不要太过深入细节,我们会简单用Django创建一些东西,然后我们会在学习的路上学到所有重要的部分!