如何分析web开发7中的模块化
admin
2023-07-08 14:44:31
0

支持json格式数据返回:

例:

有问题,web页面不是json格式;

def jsonify(**kwargs):

    content = json.dumps(kwargs)

    # response = Response()

    # response.content_type = "application/json"

    # response.body = '{}'.format(content).encode()

    # return response

    return Response(body=content, status='200 OK', content_type='application/json', charset='utf-8')

@py.register_postinterceptor

def showjson(ctx, request, response):

    body = response.body.decode()

    return jsonify(body=body)

模块化:

1、熟悉wsgi的编程接口;

2、强化模块化、类封装的思想;

3、增强分析业务的能力;

另,权限验证、SQL注入检测功能使用拦截器过滤;

VER1:

New-->Python Package,webtest,将代码放到__init__.py文件中,更改Application类为WebTest类;

import webtest

webtest.   #这样调整后用此种方式,很多东西都对外了;

VER2:

webtest/{web.py, __init__.py};

1、将WebTest类之后的代码放到__init__.py中;

2、在WebTest类中,添加:

class WebTest:

    Router = _Router   #用类属性方式,把类暴露出去,很多基础类这样实现

    Request = Request

    Response = Response

from webtest import WebTest

WebTest.   #用此种方式,可访问web.py中的_Router类、Reqeust类、Response类

发布:

例:

from distutils.core import setup

setup(name='webtest',

      version='0.0.1',

      description='wsgiref web test',

      author='jowin',

      author_email='jowin@163.com',

      url='https://blog.51cto.com/jowin',

      packages=['webtest']   #打包列表,指定'webtest'会把webtest中所有非目录子模块打包

)

如何分析web开发7中的模块化

如何分析web开发7中的模块化

pip install webtest-0.0.1.zip   #放到其它主机上安装

VER3:

1、新建python package,webtest2/{web.py,__init__.py};

2、将所有代码放到web.py中;

2、仅在__init__.py中写:

from .web import Application   #包内自己的东西用相对路径,webtest2这个包对外暴露出只有Application,包替你封装起来,通过Application.间接访问;

如何分析web开发7中的模块化

如何分析web开发7中的模块化

如何分析web开发7中的模块化

如何分析web开发7中的模块化

pip install webtest-0.0.2.zip   #安装后pycharm左侧,工作目录webtest2和External Libraries/site-packages/webtest2会有冲突,但有搜索顺序;另,也可将工作目录webtest2直接复制到其它主机运行

相关内容

热门资讯

美前副总统:共和党失去了方向,... 2026年是美国的中期选举年,共和党选情不利,可能在年底的选举中遭遇挫败。美国前副总统彭斯5月31日...
南枝原来去过中国?《给阿嬷的情... 《给阿嬷的情书》票房口碑双丰收,目前票房已突破13亿。凤凰卫视最新一期《问答神州》专访了该片导演蓝鸿...
法国海军扣押一艘俄“影子舰队”... 近日,法国海军在大西洋海域扣押了一艘据称从俄罗斯摩尔曼斯克出发的油轮,引发俄方强烈不满。俄新社6月1...
凤凰晚报丨面粉染头模仿黄仁勋,... 今日人物【面粉染头模仿黄仁勋,农村青年走红后称遭“法务”警告】“先赔偿5000元肖像侵权使用费,再删...
亲特朗普极右派候选人领跑哥伦比... 【文/观察者网 熊超然】当地时间5月31日,哥伦比亚总统选举拉开帷幕,首轮投票计票工作已完成逾99%...
2026年度网络举报系列宣传活... 5月28日至29日,以“每一件举报,都是共治的力量——豫你e行 同心护网”为主题的2026年度网络举...
中原首例帝企鹅DNA性别鉴定!... 近日,郑州海昌海洋公园正式对外公布中原首对人工繁育的帝企鹅萌宝的DNA性别鉴定报告。这是中原首个将 ...
我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...