目录:
示例代码
https://download.csdn.net/download/qq_36327717/11827412
https://download.csdn.net/download/qq_36327717/11827410
创建一个django API来接受数据采集得到的数据
需要注意的点:
POST和GET的数据,都是从Body中获取到的
发过来的数据头中: content-type: application/www-form-urlencoded
此时 request.body将数据交给request.POST
当发过来的数据头是:content-type: application/json
需要使用request.body获取
创建项目及目录结构
先创建文件夹autoclient,然后再django中打开,创建如下几个目录
bin : 核心的启动文件 start.py
conf : 配置文件夹
lib :库文件
src : 核心的源代码目录
test : 开发的过程中, 需要进行代码的调试
高级配置文件设置
django的配置:
将自定制的配置和全局的配置集成在一个对象上, 之后想要使用任何属性的时候, 直接可以通过此对象获得
from django.conf import global_settings, settings
settings.TIME_ZONE
自建项目配置设置:
- 新建conf.py
2. 示例,例如在start.py中使用
from lib.config.conf import settings
if __name__ == '__main__':
print(settings.PORT)
可插拔式插件
实现类似django中间件配置形式
-
先在自定义配置中,定义plugin_dic
-
在plugin目录下新建__init__.py
from lib.config.conf import settings # 导入配置类 import importlib class PluginsManager(): ''' 读取配置文件中的配置 ''' def __init__(self): self.plugin_dic = settings.PLUGINS_DICT # 读取PLUGINS_DICT def execute(self): for k, v in self.plugin_dic.items(): # 遍历PLUGINS_DICT module_path, cls_name = v.rsplit('.', 1) # 取出路径和类名 module = importlib.import_module(module_path) # 取出导入模块 cls = getattr(module, cls_name) # 获取类 cls().process() # 执行类中的process方法
-
因为在PluginsManager的execute方法中规定了插件使用process方法,所以对应的插件必须使用process方法来采集数据
-
项目入口
start.pyfrom lib.config.conf import settings from s