1.静态资源和动态资源 静态资源可以理解为前端的固定页面,这里面包含HTML、CSS、JS、图片等等,不需要查数据库也不需要程序处理,直接就能够显示的页面,如果想修改内容则必须修改页面,但是访问效率相当高。 动态资源,需要程序处理或者从数据库中读数据,能够根据不同的条件在页面显示不同的数据,内容更新不需要修改页面但是访问速度不及静态页面。 2.什么是WSGI协议Web服务器网关接口,Web Server Gateway Interface (或简称 WSGI,读作“wizgy”)。 是一种协议、一种规定,遵守WSGI协议能够让web服务器和框架之间解耦,可以混合搭配服务器和框架,互相兼容。 3.如何定义WSGI接口在框架实现一个application函数(相当于框架的一个唯一入口),此函数要有两个参数,第一个是字典参数,第二个参数是服务器端一个函数的引用,用来处理header头。 下面是一个最通俗的例子: def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return 'Hello World!' 上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数: · environ:一个包含所有HTTP请求信息的dict对象; · start_response:一个发送HTTP响应的函数。 这个application()函数是由服务器来调用,服务器上要实现start_response()函数用来设置头信息。 4.sys.argv的使用作用:返回当前文件本身的名字及给定文件的参数. import sys print(sys.argv) |
当你在运行这个文件的时候会返回一个列表,里面包含了当前文件名以及后续的参数 譬如:python3 test.py 7890 a b c 此时打印结果为: ['test.py', '7890', 'a', 'b', 'c'] 5.导入模块是变量名时如何导入当模块名是变量名的时候就不能直接import的方式导入了,因为会把变量名当成模块名去找。 此时可以使用原生的__import__()函数去导入模块,它支持传递一个字符串,也可以是一个变量名(字符串类型)。 getattr(object, name[, default]) 这是一个Python内置函数,作用是从对象中读取出来属性或者方法当成一个变量来处理。 frame_name = ‘mini_frame’ app_name = ‘application’ frame = __import__(frame_name) # 此时相当于导入了mini_frame模块 app = getattr(frame, app_name) # 此时app就指向了mini_frame模块中的application这个函数
|