简单的连接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 切片和range()用法说明
Mar 24 Python
介绍Python中几个常用的类方法
Apr 08 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
Python中bisect的使用方法
Dec 31 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python基于Serializer实现字段验证及序列化
Nov 04 Python
python 递归相关知识总结
Mar 03 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
javascript self对象使用详解
2016/10/18 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
啤酒销售实习自我鉴定
2013/09/24 职场文书
自荐信如何“自荐”
2013/10/24 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
银行求职信怎么写
2014/05/26 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
清明节寄语2015
2015/03/23 职场文书
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫