设置全局变量(单独一个py文件)
# 全局变量 --- 字典格式存储
# 内置属性--外部不可修改
# 提供对应的方法: 可以对这个属性进行修改\增加\显示
class g_context(object):
_dic = {} # 内置属性--外部不可修改
# TODO 1: 通过key去进行设置
def set_dict(self, key, value):
self._dic[key] = value
# TODO 2:通过key去进行获取数据
def get_dict(self, key):
# return self._dic(key) # 如果这个key不存在,则会报错-不推荐
return self._dic.get(key, None) # 如果这个key不存在,则会返回None
# TODO 3:通过字段去设置数据
def set_by_dict(self, dict):
# self._dic = dict
self._dic.update(dict)
# TODO 4:显示对应全局变量
def show_dict(self):
return self._dic
数据渲染:(单独一个py文件)
# 变量渲染
# 字符串模板进行参数渲染
# 使用 jinja2 模板引擎 (类似 flask的模板)
# https://docs.jinkan.org/docs/jinja2/templates.html
from jinja2 import Template
def refresh(target,context):
"""
把你初始数据中需要渲染的数据变成context当中的值
:param target: 你的初始数据,用 {{变量名}} -- 请求数据
:param context: 你的初始数据渲染的值 -- 全局变量
:return:
"""
if target is None: return None
return Template(str(target)).render(context)
使用数据渲染:
使用前需要先导入
# 把请求的数据拼接在一起
request_data = {"url": url, "params": params, "data": data}
# 把请求数据进行渲染一遍, 会返回渲染之后的数据,但是它会一个字符串格式。
request_data = eval(refresh(request_data, g_context().show_dict()))
# 发送请求
res = keyword.request_post(**request_data)