简单的连接MySQL与Python的Bottle框架的方法


Posted in Python onApril 30, 2015

Python关于mySQL的连接插件众多,Bottle下也有人专门开发的插件:bottle-mysql具体使用方法见官方,总共感觉其用法限制太多,其使用起来不方便,最适合的当然是,mySQL官网给Python提供的通用官方驱动,用起来很顺手:mysql-connector  具体操作如下:
 

# -*- coding: utf-8 -*-
#!/usr/bin/python
# filename: login_admin.py
# codedtime: 2014-9-7 11:26:11

import bottle
import mysql.connector  # 导入mysql数据库连接器

def check_userinfo():
  a_list = []  # 创建一个空列表
  username = bottle.request.GET.get('loginname','').strip() # 用户名
  password = bottle.request.GET.get('password','').strip()  # 密码
  if username is not None or password is not None:
    try:
      # 连接数据库 
      conn = mysql.connector.connect(user='root', password='123456', database='myblog')   
      cursor = conn.cursor() # 创建数据游标
      
      # 执行查询
      query = ("SELECT username, password FROM mb_users "
           "WHERE username=%s and password=%s")
      cursor.execute(query, (username, password))

      a_list = cursor.fetchall() # fetchone获取一个元组
      #count = int(cursor.rowcount) # 获取元组个数 
      return a_list

    except mysql.connector.Error as err:
      print("Something went wrong: {}".format(err))
      exit()
      
    finally:
      conn.commit() # 提交修改
      cursor.close() # 关闭数据库
      conn.close()
  else:
    return a_list

def login_admin():
  if bottle.request.GET.get('bs-submit','').strip(): #点击登录按钮
    a_list = check_userinfo()
    if a_list:
      a_name = a_list[0][0] # 获得用户名
      return bottle.template('templates/index_user.tpl', username = a_name)
    else:
      return bottle.template('templates/login_admin.tpl', action='/login_admin', 
              error_info='请输入正确的用户名或密码!')
  else:
    return bottle.template('templates/login_admin.tpl', action='', error_info=' ')

    
以上是MySQL在Botlle中的简单用法,

顺便提一下:安装和管理mySQL,建议安装使用XAMPP,XAMPP集成了Apache, MySQL、PHP、Tomcat等多种工具,一次性解决安装,不用自己繁琐的一个个安装和配置,而且管理也很方便。XAMPP安装的MySQL默认用户是:root  密码为空。

Python 相关文章推荐
Python实现保证只能运行一个脚本实例
Jun 24 Python
Django自定义分页效果
Jun 27 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
DataFrame中去除指定列为空的行方法
Apr 08 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
Apr 11 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
python开发入门——set的使用
Sep 03 Python
Django admin组件的使用
Oct 24 Python
selenium与xpath之获取指定位置的元素的实现
Jan 26 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 #Python
Python中使用Beautiful Soup库的超详细教程
Apr 30 #Python
Python中正则表达式的详细教程
Apr 30 #Python
详解在Python程序中使用Cookie的教程
Apr 30 #Python
处理Python中的URLError异常的方法
Apr 30 #Python
介绍Python的Urllib库的一些高级用法
Apr 30 #Python
python插入数据到列表的方法
Apr 30 #Python
You might like
php完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python新手经常遇到的17个错误分析
2014/07/30 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
《雨霖铃》教学反思
2014/02/22 职场文书
环保公益广告语
2014/03/13 职场文书
读书演讲主持词
2014/03/18 职场文书
美容院店长岗位职责
2014/04/08 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
2014年仓库工作总结
2014/11/20 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书