Django框架的本质(day1)

web框架的本质
  • 所有的web框架以及请求的本质就是socket,所有的web框架本质上其实就是这段代码,就是段socket,就是以下代码
import socket

def handle_request(client):
    buf = client.recv(1024)
    client.send(b"hello zijian")

def main():
    server = socket.socket()
    server.bind(('localhost', 80))
    server.listen(6)
    while True:
        connection, address = server.accept()
        handle_request(connection)
        connection.close()


if __name__ == '__main__':
    main()

我在浏览器上输入对应的IP就可显示我们的hello zijian
在这里插入图片描述
其实只要我们有个模块,代替掉那个main()那么主函数都不用了,这个东西就是wsgi,Django内部它没有帮我们实现socket,他需要依赖WSGI创建的socket,wsgi就是一个规则,这些规则本质上就是为我们搞个socket。在这里插入图片描述

MVC(MVT)架构的本质
  • 其实本质上就是个目录文件夹的功能划分而已,我们平时写比较复杂的Python程序的时候,也要进行类似的分类,不然的话,我们书写的逻辑,我们要加载的HTML代码,以及与数据库有关的代码,全部写到一个文件里边,就会导致以后很难地去维护,那么这时候MVC就出来了

所以:

  • MVC就是对文件夹的一个分类,对它们职责的一个划分
  • 别人问你什么是MVC啊,你就说我刚好写的Python分类的文件夹就是MVC啊
Django生命周期

在这里插入图片描述
上图中圆圈代表请求,当客户端向服务端发起请求的时候,请求首先到Django的路由系统,如果我们客户端发过来的URL与Django路由系统里的某个URL相同的话,会匹配到这个URL对应的视图函数,这个对应关系程序运行起来就已经放到我们的服务器内存里面了, 然后视图函数可以去数据库里面拿数据,也可以渲染HTML页面返回给浏览器(老师举了找张扬的例子),看Django第一天视频的倒数第二个。下图更直观,来源于路飞学城
在这里插入图片描述

原创文章 85 获赞 120 访问量 4万+

猜你喜欢

转载自blog.csdn.net/happygjcd/article/details/104273314