开篇引入
1.django和flask的相同点和不同点?
共同点:都是基于wsgi的 不同点: (1) django是一个大而全的框架,提供了方便内置的框架,orm,admin,分页,form,model_form,缓存,信号等很多方便的组件, 我们只要在配置文件中一修改就可以使用。 (2) flask是一个短小精悍,可扩展性非常强,flask适合开发小型的网站,也可以开发大型网站,因为它给我们提供有许多第三方组件,我们就可以结合这些第三方组件集成一个像django一样拥有很多功能的web框架。可定制性非常强。 (3) flask和django最大的不同点:request/session flask是直接导入的,request在全局起作用。 django是依附于request参数,通过参数传导。 两个框架没有优劣之分,具体应用看实际需求。
2.什么是wsgi?
web服务网关接口,wsgi是一个协议,实现该写一个的模块: - wsgiref - werkzeug 实现协议的模块本质上就是socket服务端用于接收用户请求,并处理。 一般web框架基于wsgi实现,这样实现关注点分离,主要负责业务处理。
1 from wsgiref.simple_server import make_server 2 3 def run_server(environ, start_response): 4 start_response('200 OK', [('Content-Type', 'text/html')]) 5 return [bytes('<h1>Hello, web!</h1>', encoding='utf-8'), ] 6 7 8 if __name__ == '__main__': 9 httpd = make_server('127.0.0.1', 8000, run_server) 10 httpd.serve_forever()