简单的连接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中的is和id用法分析
Jan 26 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
ubuntu17.4下为python和python3装上pip的方法
Jun 12 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 Python
关于Python解包知识点总结
May 05 Python
Python-jenkins模块之folder相关操作介绍
May 12 Python
django数据模型中null和blank的区别说明
Sep 02 Python
史上最详细的Python打包成exe文件教程
Jan 17 Python
Python爬虫自动化爬取b站实时弹幕实例方法
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程序员的13个好习惯小结
2012/02/20 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
python中requests库session对象的妙用详解
2017/10/30 Python
python requests.post带head和body的实例
2019/01/02 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
python标识符命名规范原理解析
2020/01/10 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
大型晚会策划方案
2014/02/06 职场文书
技术总监管理职责范本
2014/03/06 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
终止劳动合同通知书
2015/04/16 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书