Django封装交互接口代码


Posted in Python onJuly 12, 2020

我就废话不多说了,大家还是直接看代码吧~

# !/usr/bin/env python 
# -*- coding:utf-8 -*-
__author__ = '_X.xx_'
__date__ = '2018/7/18 16:44'
 
from django.http import JsonResponse
 
class HttpCode(object):
 ok = 200
 paramserror = 400
 unantu = 401
 methoderror = 405
 servererror = 500
 
def ok():
 return result()
 
def result(code=HttpCode.ok, message='', data=None, kwargs=None):
 json_dict = {'code': code, 'message': message, 'data': data}
 if kwargs and isinstance(kwargs, dict) and kwargs.keys():
  json_dict.update(kwargs)
 return JsonResponse(json_dict)
 
def params_error(message='', data=None):
 return result(code=HttpCode.paramserror, message=message, data=data)
 
def unauth(message='', data=None):
 return result(code=HttpCode.unantu, message=message, data=data)
 
def method_error(message='', data=None):
 return result(code=HttpCode.methoderror, message=message, data=data)
 
def server_error(message='', data=None):
 return result(code=HttpCode.servererror, message=message, data=data)

补充知识:python部署galery集群

galery.py文件内容

import pexpect
import os
import configparser

HOSTNAME_DB1='db1'
HOSTNAME_DB2='db2'
HOSTNAME_DB3='db3'
DB1 = '192.168.254.24'
DB2 = '192.168.254.27'
DB3 = '192.168.254.36'
PORT = 22
USERNAME = 'root'
PASSWORD = 'root'

server3_cnf = 'sed -i "s/wsrep_node_name = db1/wsrep_node_name = db3/g" /etc/my.cnf.d/server.cnf;sed -i "s/wsrep_node_address = %s/wsrep_node_address = %s/g" /etc/my.cnf.d/server.cnf' % (DB1,DB3)
server2_cnf = 'sed -i "s/wsrep_node_name = db1/wsrep_node_name = db3/g" /etc/my.cnf.d/server.cnf;sed -i "s/wsrep_node_address = %s/wsrep_node_address = %s/g" /etc/my.cnf.d/server.cnf' % (DB1,DB3)
def config_parse():
 config = configparser.ConfigParser()
 config.read("/etc/my.cnf.d/server.cnf", encoding="utf-8")
 config.set('galera','wsrep_on','ON')
 config.set('galera','wsrep_provider','/usr/lib64/galera/libgalera_smm.so')
 config.set('galera','wsrep_cluster_address','"gcomm://%s,%s,%s"' % (DB1, DB2, DB3))
 config.set('galera','wsrep_node_name','%s' % HOSTNAME_DB1 )
 config.set('galera','wsrep_node_address','%s' % DB1)
 config.set('galera','binlog_format','row')
 config.set('galera','default_storage_engine','InnoDB')
 config.set('galera','innodb_autoinc_lock_mode','2')
 config.set('galera','wsrep_slave_threads','1')
 config.set('galera','innodb_flush_log_at_trx_commit','1')
 config.set('galera','innodb_buffer_pool_size','120M')
 config.set('galera','wsrep_sst_method','rsync')
 config.set('galera','wsrep_causal_reads','ON')
 config.write(open('/etc/my.cnf.d/server.cnf','w'))
def cp_server_cnf():
 child1 = pexpect.spawn('scp /etc/my.cnf.d/server.cnf %s@%s:/etc/my.cnf.d/server.cnf' % (USERNAME,DB2))
 child1.expect('password:')
 child1.sendline(PASSWORD)
 child1.interact()
 child1.close()
 child2 = pexpect.spawn('scp /etc/my.cnf.d/server.cnf %s@%s:/etc/my.cnf.d/server.cnf' % (USERNAME,DB3))
 child2.expect('password:')
 child2.sendline(PASSWORD)
 child2.interact()

 child2.close()
def conn_db(ip,cnf):
 child3 = pexpect.spawn('ssh %s@%s' % (USERNAME, ip))
 child3.expect('password:')
 child3.sendline('root')
 child3.expect('#')
 child3.sendline(cnf)
 child3.expect('#')
 child3.sendline('systemctl restart mariadb > /dev/null')
 child3.sendline('exit')
 child3.interact()
 child3.close()
def init_cmd():
 res1 = os.system('service mariadb stop')
 res2 = os.system('mysqld_safe --wsrep_cluster_address=gcomm://%s,%s,%s >/dev/null &' % (DB1, DB2, DB3))
 res3 = os.system('galera_new_cluster &>/dev/null')
 if res2 == 0:
  print('galera初始化完成')
  if res3 == 0:
   print('galera集群已经启动')
  else:
   print('galera集群启动失败')
 else:
  print('galera初始化失败!')
def main():
 config_parse()
 cp_server_cnf()
 init_cmd()
 conn_db(DB2,server2_cnf)
 conn_db(DB3,server3_cnf)

if __name__ == '__main__':
 main()

以上这篇Django封装交互接口代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取list下标及其值的简单方法
Sep 12 Python
Python多进程multiprocessing用法实例分析
Aug 18 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
python tkinter控件布局项目实例
Nov 04 Python
Pytorch提取模型特征向量保存至csv的例子
Jan 03 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
Python页面加载的等待方式总结
Feb 28 Python
详细介绍python操作RabbitMq
Apr 12 Python
在django中实现choices字段获取对应字段值
Jul 12 #Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 #Python
django美化后台django-suit的安装配置操作
Jul 12 #Python
浅谈matplotlib 绘制梯度下降求解过程
Jul 12 #Python
使用matplotlib的pyplot模块绘图的实现示例
Jul 12 #Python
django template实现定义临时变量,自定义赋值、自增实例
Jul 12 #Python
Django后端分离 使用element-ui文件上传方式
Jul 12 #Python
You might like
一步一步学习PHP(1) php开发环境配置
2010/02/15 PHP
php实现通过ftp上传文件
2015/06/19 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
Java面试笔试题大全
2016/11/23 面试题
商业活动邀请函
2014/02/04 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
预备党员入党感言
2015/08/01 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书