w8ay表哥曾经用flask实现过一个在线渗出 测试体系 ,小弟也有这个想法 ,python web里重量级的选手django算一个,于是就用django重写了下,(着实 是由于 不懂flask ,,, ,感觉这两个框架还是 有不小的差别 ),由于 百度高精度ip没法用了,只能退而求其次来个平凡 ip定位了 ,在这个过程中我会讲授 下django的一些底子 ,大牛勿喷
一、django的根本 布局
我们切换到相应的目次 下,tree /f
【Python】
django是基于MVC的一个python框架 ,模子 M,视图V和控制器C。
紧张 文件
setting.py
一些根本 的设置及设置 ,比如 自行开辟 的应用/答应 的主机ip都可以在这设置
urls.py
在django里,控制着url与view函数的“映射” ,对于django来说,用户访问一个url,总有一个视图函数来控制此url页面的展示。
举个栗子:
urls.py里我们如许 写:
【Python】
当我们访问https://mysite/tool/ip/时 ,页面的展示取决于tool/views.py里的ip_api函数,函数里要是写上helloword,那么此url对应的页面就返回helloword ,记访问网址就对应一个函数views.py
就是一些自界说 的视图函数,控制页面返回结果
models.py
与数据库操纵 相干 ,存入或读取数据时用到
templates 文件夹
views.py 中的函数渲染templates中的Html模板 ,得到动态内容的网页,渲染方式一样平常 用render()
二、开启django的浅显 小项目之旅
底子 的概念各人 可以去百度大概 django菜鸟教程/自强学堂去看,咱们直接来做urls.py
【Python】
前面表明 过了
views.py
【Python】
在这里我们界说 了一个函数ip_api ,它控制着访问/tool/ip时的页面返回,在这里我们固然 必要 它来展示一个html页面,有让我们输入ip的输入框,有展示地点 ,经纬度的表格,以是 我们用一个render()来让它渲染ip.html
ip.html
【Python】
图方便,就本身 写了个简单 的html ,很大略 ,不外 不会影响核心 功能留意 views.py内里 尚有 一个模块叫ipapi,这个是我们本身 编写的模块 ,用百度api来获取与地点 相干 的json数据并分析
【Python】
url中的ak是本身 在百度开辟 者平台去申请的密钥,去申请一个写上吧
三 、结果 展示以及梳理思绪
【Python】
团体 的思绪 是:
1.核心 代码编写,利用 表单api获取位置信息相干 的json数据(ipapi.py) ,将其当作 模块供其他文件调用
2.指定url,而且 确定对应的views.py中的函数
3.编写views.py中的函数,用render渲染一个所必要 的html文件(ip.html)
4.当ip.html中的ip被提交后 ,调用ipapi.py举行 分析 ,再返回数据给ip.html,结果 展示
四、总结
很多 有效 的脚本都能做成模块,放在django中举行 调用 ,背面 偶然 间本身 也会做一些东西,放在github上
本次实行 的代码如今 已放置百度云盘:https://pan.baidu.com/s/1qXUuyrq
稍后会上传到github,感谢w8ay表哥的思绪 。
泉源 :i春秋
作者:xiaoye
链接:https://bbs.ichunqiu.com/thread-22449-1-1.html
山西开源聚合科技有限公司
专注信息安全人才作育
搭建企业人才供需桥梁
咨询QQ群:495066536