简单的连接MySQL与Python的Bottle框架的方法
作者:JohnnyHu90 发布时间:2024-01-27 23:49:40
标签:Python
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 密码为空。
0
投稿
猜你喜欢
- 如果对自然语言分类,有很多中分法,比如英语、法语、汉语等,这种分法是最常见的。在语言学里面,也有对语言的分类方法,比如什么什么语系之类的。我
- 今天偶尔在知乎上看到某大佬用Python写的ATM系统案例,然后观摩了下他的实现思路和源码,感觉受益颇多,于是就根据自己的思路和目前掌握的P
- 图像文件是自己仿照mnist格式制作,每张图像大小为128*128import structimport matplotlib.pyplot
- Python3.7引入了dataclass。dataclass装饰器可以声明Python类为数据类;数据类适合用来存储数据,一般而言它具有如
- 一、.NET Framework Data Provider for SQL Server类型:.NET Framework类库使用:Sys
- 总所周知bilibili是没有办法直接查看弹幕的发送者的
- 问题是:输入一个数字,按照指定要求逆序输出该数字,很简单,下面是实现:#!usr/bin/env python#encoding:utf-8
- Capstone 是一个轻量级的多平台、多架构的反汇编框架,该模块支持目前所有通用操作系统,反汇编架构几乎全部支持,本篇文章将运用LyScr
- 一、设置环境在 Ubuntu 机器上安装 SQL Server 2017和安装运行 GoLang 所需的依赖项。1.1、安装 SQL Ser
- 1. 排名函数与PARTITION BY --所有数据 SELECT * FROM dbo.student AS a INNER JOIN
- 一种类似Flask开发的WebSocket-Server服务端框架,适用python3.X1、安装模块Pywsspip install py
- 本文实例讲述了wxPython窗口的继承机制,分享给大家供大家参考。具体分析如下:示例代码如下:import wx class
- 本文实例讲述了Python实现拷贝多个文件到同一目录的方法。分享给大家供大家参考,具体如下:有一个文件,里面存有多个文件名,一个文件名一行。
- 写一个类似linux head的小工具,在window下用。head.py # -*- coding: UTF-8 -*-#!/u
- 1、使用os.system()方法os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功。示例
- 自从python2.2提供了yield关键字之后,python的生成器的很大一部分用途就是可以用来构建协同程序,能够将函数挂起返回中间值并能
- python中shape()函数shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度。1、shap
- 本文实例讲述了Python实现的本地文件搜索功能。分享给大家供大家参考,具体如下:偶尔需要搜索指定文件,不想每次都在windows下面去搜索
- 在图像处理中,直方图是非常重要,也是非常有用的一个处理要素。在skimage库中对直方图的处理,是放在exposure这个模块中。1、计算直
- Python 中迭代器与生成器实例详解本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下