Python关于mySQL的连接插件众多,Bottle下也有人专门开发的插件:bottle-mysql具体使用方法见官方,总共感觉其用法限制太多,其使用起来不方便,最适合的当然是,mySQL官网给Python提供的通用官方驱动,用起来很顺手:mysql-connector 具体操作如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# -*- 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 密码为空。