简单的连接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 collections模块实例讲解
Apr 07 Python
python正则表达式re模块详细介绍
May 29 Python
python中实现定制类的特殊方法总结
Sep 28 Python
Python中实现常量(Const)功能
Jan 28 Python
Python itertools模块详解
May 09 Python
Python操作Excel插入删除行的方法
Dec 10 Python
python判断所输入的任意一个正整数是否为素数的两种方法
Jun 27 Python
python中dict使用方法详解
Jul 17 Python
Python os模块常用方法和属性总结
Feb 20 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 Python
Python自动化测试基础必备知识点总结
Feb 07 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
substr()函数中文版
2006/10/09 PHP
php 获取select下拉列表框的值
2010/05/08 PHP
php 函数中使用static的说明
2012/06/01 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
use jscript Create a SQL Server database
2007/06/16 Javascript
Javascript 篱式条件判断
2008/08/22 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python实现多线程采集的2个代码例子
2014/07/07 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
美国在线工具商店:Acme Tools
2018/06/26 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
简历自我评价怎么写呢?
2014/01/06 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
求职意向书范文
2014/04/01 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
感恩寄语大全
2014/04/11 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
中文专业求职信
2014/06/20 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
陪护人员误工证明
2015/06/24 职场文书
python基础之类属性和实例属性
2021/10/24 Python
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers