简单的连接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最基本的输入输出详解
Apr 25 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
python 打印对象的所有属性值的方法
Sep 11 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
python 调用钉钉机器人的方法
Feb 20 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
python如何进入交互模式
Jul 06 Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 Python
Python实现简单得递归下降Parser
May 02 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(3)
2006/10/09 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
php自动加载机制的深入分析
2013/06/08 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
Python如何将函数值赋给变量
2020/04/28 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
战友聚会邀请函
2014/01/18 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
服务标语大全
2014/06/18 职场文书
2015年女生节活动总结
2015/02/27 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
节水宣传标语口号
2015/12/26 职场文书