数据库报错重连机制

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

 import MySQLdb as mysql

 class DB:
def __init__(self,host,user,passwd,db_name):
self.conn = None
self.cursor = None
self.host = host
self.user = user
self.passwd = passwd
self.db_name = db_name
self.connect()
def connect(self):
self.conn = mysql.connect(host=self.host,user=self.user,passwd=self.passwd,db=self.db_name)
self.conn.autocommit(True)
self.cursor = self.conn.cursor() def execute(self,sql):
try:
self.cursor.execute(sql)
return self.cursor
except mysql.OperationalError:
print 'reconnect db'
self.connect()
return self.execute(sql)
def list(self,table_name,col_name='*'):
sql = 'select %s from %s'%(col_name,table_name)
res = self.execute(sql)
return res.fetchall() db = DB(host='59.110.12.*',user='****',passwd='*****',db_name='******')

Flask 模板继承

语法:

layout.html文件:

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

pageA.html文件

     {% extends 'layout.html' %}

     {% block body %}

         PageA 自己的内容

     {% 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实现的代码:

 @app.route('/addapi',methods=['POST'])
def addapi():
res_dict = request.form.to_dict()
#以字典形式接手,格式:{'mobile': u'bb', 'table_name': u'idc', 'name': u'bb'}
table_name = res_dict.pop('table_name')
#弹出表名字段,这样table_name就是需要操作的表名了
#现在res_dict就变成了:{'mobile': u'bb', 'name': u'bb'}
#now:
#res_dict:{'mobile': u'bb', 'name': u'bb'}
#table_name='idc'
#然后传递给数据库是处理
add_res = db.add(table_name,res_dict)
return json.dumps(add_res)
#因为flask只支持字符串,所以得dumps下

flask_web.py

Python 综合应用小项目一的更多相关文章

  1. python网页爬虫小项目开发

    这是我最近接的一个小项目,花了是整整四天多时间. 任务是将http://www.examcoo.com/index/detail/mid/7网站下所有的试卷里的试题全部提取出来,首先按照题型进行分类, ...

  2. 纯Python综合图像处理小工具(3)10种滤镜算法

    <背景>  滤镜处理是图像处理中一种非常常见的方法.比如photoshop中的滤镜效果,除了自带的滤镜,还扩展了很多第三方的滤镜效果插件,可以对图像做丰富多样的变换:很多手机app实现了实 ...

  3. [Python]Python入坑小项目推荐- Flask example minitwit

    知乎上看到的Python练手项目推荐,链接见:https://www.zhihu.com/question/29372574,不知道是我自己懒得看还是理解力不行,这些项目真的是...太大了呀~~~~ ...

  4. python flask实现小项目方法

    本文目的是为了完成一个项目用到的flask基本知识,例子会逐渐加深.最好对着源码,一步一步走. 下载源码,运行 pip install -r requirements.txt 建立环境 python ...

  5. python 的一些小项目

    1.在线教育平台(视频播放) 2.仿微信网页版(语音.视频.文字聊天) 3.高德API + Python 解决租房问题 4.仿知乎 5.Django打造文件分享系统.文件管理.搜索引擎(仿云盘) 6. ...

  6. Python基础--01小项目体现的基础知识

    part1:猜拳游戏 #coding=utf-8 #当有汉语时可能编译器不认识,需要定义代码 ''' 多行注释 写这个程序是为了熟悉python的基本语法 这是第一个小例子包含简单的if判断,循环和输 ...

  7. 纯Python综合图像处理小工具(4)自定义像素级处理(剪纸滤镜)

      上一节介绍了python PIL库自带的10种滤镜处理,现成的库函数虽然用起来方便,但是对于图像处理的各种实际需求,还需要开发者开发自定义的滤镜算法.本文将给大家介绍如何使用PIL对图像进行自定义 ...

  8. 纯Python综合图像处理小工具(1)分通道直方图

    平时工作经常需要做些图像分析,需要给图像分通道,计算各个通道的直方图分布特点,这个事儿photoshop也能做,但是用起来不方便,且需要电脑上安装有PS软件,如果用OpenCV, 更是需要在visua ...

  9. 纯Python综合图像处理小工具(2)图像增强

    <背景> 这次分享的脚本是对图像进行增强处理,包含对图像像素的色彩增强.亮度增强.对比度增强.图像尖锐化等增强操作,主要基于PIL包的lambda和ImageEnhance模块. 使用方法 ...

随机推荐

  1. Java程序运行参数

    Java主函数形式:public static void main(String[] args){......} 也就是说可以向Java程序传递一个String[]. 1.在IDEA中debug.ru ...

  2. mysql(数据库,sql语句,普通查询)

    第1章 数据库 1.1 数据库概述 l 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. l 什 ...

  3. 传入泛型类型(T.class)的方法

    java中当我们需要T.class时会报错,这是我们只需定义一个Class<T>类作为参数传入即可,具体如下: public List<T> findStuByQuery(De ...

  4. Android中的GreenDao框架修改数据库的存储路径

    目前android中比较热门的数据库框架有greenDAO.OrmLite.AndrORM,其中我比较喜欢用GreenDao,其运行效率最高,内存消耗最少,性能最佳.具体怎么使用GreenDao,网上 ...

  5. 数据库操作----找了MySQL和SQL Sever两个的基础语句

    这是MySQL的基本操作: 1 登入数据库:mysql -uroot -p+密码 (SQL Sever登入: osql -U 用户名 -P 密码) 显示已存在的数据库:show databases; ...

  6. bt5r3开启远程登录

    sshd-generate /etc/init.d/ssh restart

  7. PHP中调用SVN命令更新网站方法(解决文件名包含中文更新失败的问题)

    想说写一个通过网页就可以执行 SVN 升级的程序,结果并不是我想得那样简单,有一些眉角需要注意的说. 先以 Apache 的用户帐号执行 SVN checkout,这样 Apache 才有 SVN 的 ...

  8. userBean之设置属性

    package com.java.model; public class Student { private String name;private int age; public String ge ...

  9. ZOJ 3471 Most Powerful (状压DP,经典)

    题意: 有n个原子,每当两个原子碰撞时就会产生能量,并且消耗其中一个原子.已知每两个原子碰撞时消耗其中指定一个原子所产生的能量,问最多能产生多少能量? 思路: 一开始以为是找一个有序序列,使得能量最大 ...

  10. [论文理解]Selective Search for Object Recognition

    Selective Search for Object Recognition 简介 Selective Search是现在目标检测里面非常常用的方法,rcnn.frcnn等就是通过selective ...