今天来分析下Admin模块,这个模块的入口是manage.py文件,作者建议的方式是使用命令行启动,为了方便调试分析,我们使用pycharm启动,我们需要在manage.py文件里添加一行代码
sys.argv = ['.\\manage.py', 'runserver', '0.0.0.0:9001']
然后就可以右击manage.py选择run
启动项目后我们在浏览器进127.0.0.1:9001,登录进去后会看到如下界面
主页
我们打开urls.py文件
可以看到这里对我们的请求做了映射,我们默认访问的是http://127.0.0.1:9001/,也就是' ',对应的web_index,我们跳到web_index函数,可以看到这个函数返回了一个html页面
进入web_index.html文件查看,本人对html语法不熟悉,但是从'视频总数','报警总数'这些字段可以看出这个就是主页的html文件
我们拉到文件最底部
这个表示当前界面加载时会调用dataUpdater函数,我们查看该函数
该函数作用是发起向/getIndex发起一个get请求,可以看到getIndex对应的是api_getIndex函数
该函数获取电脑硬件信息返回,html文件获取到该数据后在主界面显示
视频流
我们访问视频流下的管理界面
可以在地址栏在看到是请求的stream,stream对应的web_stream函数返回app/web_stream.html
打开web_stream.html文件,该文件末尾的js脚本会请求/getStreams,对应于api_getStreams函数
该函数用于获取音视频流信息返回给页面显示