简单的连接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通过select实现异步IO的方法
Jun 04 Python
python中异常报错处理方法汇总
Nov 20 Python
Python Socket传输文件示例
Jan 16 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
使用python编写监听端
Apr 12 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
Jan 26 Python
OpenCV 图像梯度的实现方法
Jul 25 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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
JS不完全国际化&本地化手册 之 理论篇
2016/09/27 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
Python Deque 模块使用详解
2014/07/04 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
音乐教学反思
2014/02/02 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
大学新生军训方案
2014/05/03 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
初中班主任工作随笔
2015/08/15 职场文书