简单的连接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操作MySQL简单实现方法
Jan 26 Python
在类Unix系统上开始Python3编程入门
Aug 20 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
Feb 07 Python
redis之django-redis的简单缓存使用
Jun 07 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
Django REST framework视图的用法
Jan 16 Python
python求一个字符串的所有排列的实现方法
Feb 04 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
python 子类调用父类的构造函数实例
Mar 12 Python
python3注册全局热键的实现
Mar 22 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
python对execl 处理操作代码
Jun 22 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教程 基本语法
2009/10/23 PHP
nginx下安装php7+php5
2016/07/31 PHP
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
一个JavaScript防止表单重复提交的实例
2014/10/21 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
Python3.6简单操作Mysql数据库
2017/09/12 Python
20个常用Python运维库和模块
2018/02/12 Python
python numpy 按行归一化的实例
2019/01/21 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
python如何构建mock接口服务
2021/01/28 Python
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
智能钱包:Ekster
2019/11/21 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
地理科学专业毕业生求职信
2013/10/15 职场文书
前台接待岗位职责
2013/12/03 职场文书
个人函授自我鉴定
2014/03/25 职场文书
毕业实习计划书
2015/01/16 职场文书
党员转正申请报告
2015/05/15 职场文书
反腐倡廉观后感
2015/06/08 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电