django调用python脚本_单独的 python 脚本文件使用 django 自带的 model

#push_view

importosimportsysimportdjango

pathname= os.path.dirname(os.path.abspath(__file__))

sys.path.insert(0, pathname)

sys.path.insert(0, os.path.abspath(os.path.join(pathname,'..')))

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xad_unit.settings")

django.setup()from datetime importdatetimeimporttimefrom pv_uv.views importexec_sqlfrom pv_uv.models importCpdclassSql_Tool(object):defzy_sql(self, date):#sql = 'select ngx_date, path, event_type, count(distinct request_id) as num from xad_app_log where path = "/xad_tracking" and event_type in ("xad_dl_start", "xad_dl_success", "xad_install_start", "xad_install_success", "xad_click_tracking", "xad_impression") and ngx_date="{}"and ad_system="{}" group by ngx_date, path, event_type order by ngx_date, path, event_type limit 1000'.format(

#date, 'liyanmobi')

sql= 'select ngx_date, path, event_type, count(distinct request_id) as num from xad_app_log where path = "/xad_tracking" and event_type in ("xad_dl_start", "xad_dl_success", "xad_install_start", "xad_install_success", "xad_click_tracking", "xad_impression") and ngx_date>="{}" and ad_system="{}" and req_from="1" group by ngx_date, path, event_type order by ngx_date, path, event_type limit 1000'.format(

date,'liyanmobi')

l_list=exec_sql(sql)returnl_listdefstrint_toDate(self, string):return datetime.strptime(string, '%Y%m%d')if __name__ == '__main__':

sql_tool=Sql_Tool()

current_time= time.strftime('%Y%m%d', time.localtime(time.time()))#current_time = '20180726'

l_list =sql_tool.zy_sql(current_time)print(l_list)#l_list = [{'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_click_tracking', 'num': 302}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_dl_start', 'num': 182}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_dl_success', 'num': 101}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_impression', 'num': 301}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_install_start', 'num': 101}, {'ngx_date': '20180726', 'path': '/xad_tracking', 'event_type': 'xad_install_success', 'num': 42}]

l2 =l_list

l_list=list()

tmp_set=set()for i_dict inl2:

tmp_dict=dict()

date1= i_dict.get('ngx_date')if date1 not intmp_set:

tmp_set.add(date1)else:continue

for i_i_dict inl2:

date2= i_i_dict.get('ngx_date')if date1 ==date2:

tmp_dict['ngx_date'] = i_i_dict.get('ngx_date')

tmp_dict[str(i_i_dict.get('event_type'))] = i_i_dict.get('num')

l_list.append(tmp_dict)

tmp_dict=dict()print(l_list)for i_dict inl_list:

cpd=Cpd()for key, value ini_dict.items():if key == 'ngx_date':

a= sql_tool.strint_toDate(i_dict.get('ngx_date'))

cpd.ngx_date= sql_tool.strint_toDate(i_dict.get('ngx_date'))if key == 'xad_click_tracking':

cpd.xad_click_tracking=key

cpd.xad_click_tracking_nums=valueif key == 'xad_dl_start':

cpd.xad_dl_start=key

cpd.xad_dl_start_nums=valueif key == 'xad_dl_success':

cpd.xad_dl_success=key

cpd.xad_dl_success_nums=valueif key == 'xad_impression':

cpd.xad_impression=key

cpd.xad_impression_nums=valueif key == 'xad_install_start':

cpd.xad_install_start=key

cpd.xad_install_start_nums=valueif key == 'xad_install_success':

cpd.xad_install_success=key

cpd.xad_install_success_nums=value

cpd.save()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值