首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Django2.0中文(中间件)

1、 中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件负责做一些特定的功能。 由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 说的直白一点,中间件可以帮助我们在视图函数执行之前和执行之后做一些额外的操作。 它的本质是一个自定义类,类中定义了几个方法,Django框架会在请求的特定时间去执行这些方法。 2、中间的五种方法: process_request(self, request) process_view(self, request, view_func, view_args, view_kwargs) process_template_response(self, request, response) process_exception(self, request, exception) process_response(self, request, response) 以上方法的返回值可以是None,或者是一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将改对象返回给用户。 3、自定义中间件: from django.utils.deprecation import MiddlewareMixin

01

Art of Android Development Reading Notes 9

(1)四大组件中只有BroadcastReceiver既可以在AndroidManifest文件中注册,也可以在代码中注册,其他三个组件都必须在AndroidManifest文件中注册;ContentProvider的调用不需要借助Intent,其他三个组件都需要借助Intent。 (2)Activity是一种展示型组件,用于向用户展示界面,可由显式或者隐式Intent来启动。 (3)Service是一种计算型组件,用于在后台执行计算任务。尽管service是用于后台执行计算的,但是它本身是运行在主线程中的,因此耗时的后台计算仍然需要在单独的线程中去完成。Service组件有两种状态:启动状态和绑定状态。当service处于绑定状态时,外界可以很方便的和service进行通信,而在启动状态中是不可与外界通信的。 (4)BroadcastReceiver是一种消息型组件,用于在不同的组件乃至不同的应用之间传递消息,它工作在系统内部。广播有两种注册方式:静态注册和动态注册。静态注册是在AndroidManifest中注册,在应用安装的时候会被系统解析,这种广播不需要应用启动就可以收到相应的广播。动态注册需要通过Context.registerReceiver()来注册,这种广播需要应用启动才能注册并接收广播。BroadcastReceiver组件一般来说不需要停止,它也没有停止的概念。 (5)ContentProvider是一种数据共享型组件,用于向其他组件乃至其他应用共享数据。ContentProvider中的insert、delete、update、query方法需要处理好线程同步,因为这几个方法是在Binder线程池中被调用的,另外ContentProvider组件也不需要手动停止。

02

浅谈App测试~带音频

(1)账号密码登录注册 注册过程: a.app收集账号和密码 b.app请求服务端接口提交账号 c.服务器端进行数据格式和账号唯一性验证 d.记录注册数据并返回给客户端 e.客户端接受到服务器端返回的信息成功则页面跳转,失败则返回错误编辑和提示,app显示提示 登录过程: a.app端收集登录信息发送给服务端 b.服务端校验账号密码正确性 c.正确则返回成功,app页面登录成功 d.如有错误根据错误编码和提示错误,app展示 测试点: a.输入正确的账号密码,可正常注册和登录 b.已注册用户再次注册 c.账号输入框对最大长度和格式应有校验(比如邮箱账号需要邮箱格式等) d.密码是否加密传输(可抓取请求查看) e.密码"****"展示 f.切换账号登录,检验登录的信息是否做到及时更新 g.多设备同时登录同一帐号时(iOS+iOS,Android+Android,iOS+Android),检查是否将原用户踢出 等等测试点太多 (2)验证码登录 登录过程: a.客户端手机号码后,点击"获取验证码"按钮 b.发请求给服务端,服务端会生成一条随机验证码,一般是一串数字,再调用短信接口,把验证码发送用户的手机端。 c.用户在前台相应输入框输入验证码,提交之后,后端会对用户提交的随机码和后台原先存储的验证码信息做对比,如果两者无误差,那么用户的身份得以确认成功,就返回给app成功。 测试点: a.输入正确的账号密码,可正常注册和登录 b.已注册用户再次注册 c.验证短信的接收是否及时; d.用验证码可正常登录; e.验证码错误时,是否有提示 f.频繁操作验证码发送,是否有次数限制 g.验证码有效期校验(一般有效期2分钟、5分钟) h.重新获取验证码入口 (3)第三方登录 第三方登录原理,Oauth2.0,一般采用的是授权模式。 测试点: a.用户从未注册,使用微信第三方登录 b.用户已有账户,使用微信第三方登录,用户使用微信扫描后,跳转到绑定账户页面,输入已注册的手机号,登录成功。 c.用户同时绑定多个第三方登录,用户绑定微信第三方登录后,再次使用微博第三方登录 d.重复绑定,比如用户账户已经绑定过一个微博账号了,再次用另一个微博账号绑定该账户。 其他需要注意的点: (1)密码输入错误次数限制:注册登录一般都有密码输入几次会把账号锁定,再次登录的时候会增加校验流程,比如验证码校验等; (2)常用设备维护:比如可以有三台常用设备,登录第四台的时候会有异常设备登录的逻辑,这个测试的时候需要关注 登录页面账号记忆功能,就是默认会记忆上次输入的账号 (3)有注册登录 ,就有注销用户,一个账号反复注册注销的操作。

01
领券