如何分析网络开发7中的模块化,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
支持json格式数据返回:
例:
有问题,web页面不是json格式;
def jsonify (* * kwargs):
,,,内容=json.dumps (kwargs)
,,,#反应=反应()
,,,#反应。content_type=坝τ贸绦?json"
,,,#反应。=& # 39;身体{}& # 39;.format(内容).encode ()
,,,#返回响应
,,,返回响应(身体=内容、状态=& # 39;200年好# 39;,content_type=& # 39; application/json # 39;, charset=& # 39; utf - 8 # 39;)
@py。register_postinterceptor
def showjson (ctx、请求、响应):
,,,身体=response.body.decode ()
,,,返回jsonify(身体=身体)
模块化:
1,熟悉wsgi的编程接口;
2,强化模块化、类封装的思想。
3,增强分析业务的能力;
另,权限验证,SQL注入检测功能使用拦截器过滤;
VER1:
新——在Python包,webtest,将代码放到__init__。py文件中,更改应用类为WebTest类;进口WebTest
WebTest只,#这样调整后用此种方式,很多东西都对外了,
VER2:
webtest/{网络。py, __init__ . py};
1,将WebTest类之后的代码放到__init__。py中;
2,在WebTest类中,添加:
类WebTest:
,,,路由器=_Router ,#用类属性方式,把类暴露出去,很多基础类这样实现
,,,请求=请求
,,,响应=响应
从webtest进口webtest
webtest只,#用此种方式,可访问。py中的_Router类,Reqeust类、响应类
发布:
例:从distutils
。核心进口设置
设置(name=& # 39; webtest& # 39;,
,,,,,version=& # 39; 0.0.1 # 39;,
,,,,,=& # 39;描述wsgiref web测试# 39;
,,,,,=& # 39;作者jowin& # 39;,
,,,,,author_email=& # 39; jowin@163.com& # 39;,
,,,,,url=& # 39; https://blog.51cto.com/jowin& # 39;
,,,,,包=[& # 39;webtest& # 39;),,#打包列表,指定& # 39;webtest& # 39;会把webtest中所有非目录子模块打包)
pip安装webtest-0.0.1.zip ,#放到其它主机上安装
VER3:
1,新建python包,webtest2/{web.py, __init__ . py};
2,将所有代码放到web.py中;
2,仅在__init__。py中写:
了对从web这类进口Application ,#包内自己的东西用相对路径,webtest2这个包对外暴露出只有应用程序,包替你封装起来,通过应用程序。间接访问;
pip安装webtest-0.0.2.zip ,#安装后pycharm左侧,工作目录webtest2和外部库/网站/webtest2会有冲突,但有搜索顺序;另,也可将工作目录webtest2直接复制到其它主机运行
看完上述内容,你们掌握如何分析网络开发7中的模块化的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!