简单的连接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 web框架学习笔记
May 03 Python
详解Python如何获取列表(List)的中位数
Aug 12 Python
python中的随机函数random的用法示例
Jan 27 Python
使用python读取csv文件快速插入数据库的实例
Jun 21 Python
详解python中的装饰器
Jul 10 Python
python批量获取html内body内容的实例
Jan 02 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 Python
解决paramiko执行命令超时的问题
Apr 16 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
安装Anaconda3及使用Jupyter的方法
Oct 27 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中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
php实现微信模板消息推送
2018/03/30 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python入门基础之用户输入与模块初认识
2016/11/14 Python
Python获取当前路径实现代码
2017/05/08 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
python如何实现一个刷网页小程序
2018/11/27 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
自动化专业本科毕业生求职信
2013/10/20 职场文书
计算机软件个人的自荐信范文
2013/12/01 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
请假条的格式
2014/04/11 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
学校食堂标语
2014/10/06 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python