• Python 综合应用小项目一


    数据库报错重连机制

    利用异常捕获来获取mysql断开的报错,然后再重连

     1 import MySQLdb as mysql
     2 
     3 class DB:
     4     def __init__(self,host,user,passwd,db_name):
     5         self.conn = None
     6         self.cursor = None
     7         self.host = host
     8         self.user = user
     9         self.passwd = passwd
    10         self.db_name = db_name
    11         self.connect()
    12     def connect(self):
    13         self.conn = mysql.connect(host=self.host,user=self.user,passwd=self.passwd,db=self.db_name)
    14         self.conn.autocommit(True)
    15         self.cursor = self.conn.cursor()
    16 
    17     def execute(self,sql):
    18         try:
    19             self.cursor.execute(sql)
    20             return self.cursor
    21         except mysql.OperationalError:
    22             print 'reconnect db'
    23             self.connect()
    24             return self.execute(sql)
    25     def list(self,table_name,col_name='*'):
    26         sql = 'select %s from %s'%(col_name,table_name)
    27         res = self.execute(sql)
    28         return res.fetchall() 
    29         
    30 
    31 
    32 db = DB(host='59.110.12.*',user='****',passwd='*****',db_name='******')
    View Code

    Flask 模板继承

    语法:

    layout.html文件:

    <p>layout2的内容</p>
            {% block body %}
               
            {% endblock %}
        
    <p>layout2的其他内容</p>

    pageA.html文件

    1     {% extends 'layout.html' %}
    2 
    3 
    4     {% block body %}
    5 
    6         PageA 自己的内容
    7 
    8     {% endblock %}

    pageA去继承layout.html的内容,让其在自己的页面显示。另外还可以填丛自己的内容

    标题高亮处理 

      

    如这些标题需要点击时会被着色。如何处理呢。

      class='active' 可以使之有色,我们可以通过js来判断,点击了哪个,给哪个上颜色

      

      可以通过全局变量location来获取到当前点击的哪个图标

      属性选择器

      

      

      这两段代码实现了高亮显示,和标题的变化

      $page经过find后,得到的就是用户/机房/机器,所以要使用.parent来渲染着一层,不用的话,只会用户/机房/机器

    被着色。

    find的用法:

      find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。 

       

    parent的用法:

      parent() 获得当前匹配元素集合中每个元素的父元素,使用选择器进行筛选是可选的。

      

    实现所有add工作的统一接口

     思路:

      无论是添加用户、机房还是机器,都可以用到同一个addapi 去操作数据库

      已添加idc机房为例,前端需要传递过来,”需要操作数据库的表“,然后就是“操作标的内容:名称、电话.....”

      命令 :'insert into xx  (name,mobile) values ("123","asd")'

      现在我们把它改变成,无论是添加用户、还是机器都可以用到模式

      insert into %s (%s) values (%s)"%(table_name,col_names,values)

      如此一来就实现了用户、机房、机器、统一添加的接口了,后面的工作就是要处理一下前端传过来的数据

    flask实现的代码:

     1 @app.route('/addapi',methods=['POST'])
     2 def addapi():
     3     res_dict = request.form.to_dict()   
     4     #以字典形式接手,格式:{'mobile': u'bb', 'table_name': u'idc', 'name': u'bb'}
     5     table_name = res_dict.pop('table_name')
     6     #弹出表名字段,这样table_name就是需要操作的表名了
     7        #现在res_dict就变成了:{'mobile': u'bb', 'name': u'bb'}
     8        #now:
     9        #res_dict:{'mobile': u'bb', 'name': u'bb'}
    10        #table_name='idc'
    11        #然后传递给数据库是处理
    12     add_res = db.add(table_name,res_dict)
    13     return json.dumps(add_res)
    14        #因为flask只支持字符串,所以得dumps下
    flask_web.py
  • 相关阅读:
    在同一iphone项目添加lite版
    加权平均资本成本【读书笔记】
    强制iphone界面马上旋转
    市场营销经典《引爆点》简摘
    操作系统与固件,驱动是什么
    如何使用单元测试测试线程安全
    20192428魏来 《网络与系统系统攻防技术》实验四 恶意代码分析
    计网复习 https的加密过程
    jdk8下载安装与环境变量配置
    panic: qtls.ConnectionState not compatible with tls.ConnectionState
  • 原文地址:https://www.cnblogs.com/nopnog/p/7207297.html
Copyright © 2020-2023  润新知