A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谷粒姐姐 黑马粉丝团   /  2018-6-27 10:46  /  947 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

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这个函数

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马