django作为一个开源的python语言的web框架,采用MVC的框架模式,为我们提供了一个十分快速的搭建web服务的方式。自己也是在一边摸索一边写这系列的记录,希望能够更多的记录下自己的心路历程,给后来者一些参考。
什么是web框架
在了解web框架之前,我们必须要知道web是如何工作的。
一般来讲,在web中,浏览器通过HTTP协议向服务器请求网站的数据,传入包括URL,请求方式(GET/POST),浏览器信息(User-Agent)等信息。而HTTP协议以‘请求-响应’模式为基础。换句话说,浏览器向服务器请求数据,而与之相对的,web应用需要根据浏览器所发来的请求,做出相应的响应并发送数据。
那么在这其中我们可以发现,对于所有的web中应用中,都有一些共有的问题需要解决,这些问题是:
- 如何对浏览器发来的信息进行相应的解析
- 如何将请求的 URL 映射到处理它的代码上
- 怎样动态地构造请求的 HTML 返回给客户端,HTML中带有计算得到的值或者从数据库中取出来的信息
举个例子,当我输入翠翠的简书主页http://www.jianshu.com/u/3460d089ffd3 时,服务器所需要做的事有
- 解析发来的HTTP包,取出相应的URL等信息
- 根据发来的请求信息,找到翠翠主页的相应信息
- 根据翠翠主页的信息动态构造出相应的HTML网页,并返回给客户端。
而这些问题作为web中的共性问题,也就自然出现了相应的封装,以便于减少工作量,将更多时间用于网站的搭建上。这也就是所说的web框架。
django有什么优点
第一,作为以python为基础的框架,django本身就已经具有了不小的优点。python使得整个程序逻辑框架较为清晰,而后期搭建也由于python使得工作量变小。
其次,python的官方文档详尽而完备。其官方文档地址为https://docs.djangoproject.com/en/1.11/ 上面对于其api等有十分详尽的介绍,对于新手其也有一个从零开始的示例。
另外,django自带一套自助管理系统admin,对于本系列文章所需要做的管理系统来讲,django的这套框架精简了许多工作。
这系列文章要做什么
这个系列的文章所需要做的是一个评扣分的管理网页。由管理员登录并录入每个月对各个科室的扣分与扣分原因,并按月进行打印和自动核对。功能还是很简单的,但是对于初学来说还是在各个地方存在想不到的困难,所以也是与大家一起踩坑。希望经过这个系列的文章过后自己能有所成长。
那话不多说,我们就开始吧。
版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载请标明http://www.jianshu.com/u/3460d089ffd3
网友评论