Django从零开始搭建一个相册网站--5.Python操作数据库
2017-04-28 11:58
821 查看
由于相片已经存在,所以需要安装文件目录把相应的数据写入数据库:
beibei:classModels
百日照:dirModels
psb?.jpg:fileModels
创建连接:
需要注意的是,添加操作中的value值必须是一个数组/集合,即如果写成:
则会报错
完整代码:
运行后结果:
beibei:classModels
百日照:dirModels
psb?.jpg:fileModels
创建连接:
conn = MySQLdb.connect( host='10.5.209.13', port=3306, user='root', passwd='admin888', db='cilife', charset='utf8', ) cur = conn.cursor()
# 创建数据表 # cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))") # 插入一条数据 # cur.execute("insert into student values('2','Tom','3 year 2 class','9')") # 修改查询条件的数据 # cur.execute("update student set class='3 year 1 class' where name = 'Tom'") # 删除查询条件的数据 # cur.execute("delete from student where age='9'")
需要注意的是,添加操作中的value值必须是一个数组/集合,即如果写成:
"insert into cilife_classmodels(class_name) values(%s)", classname
则会报错
完整代码:
# _*_coding: utf-8 _*_
import MySQLdb
import os
import time
sdir = 'E:\\软件测试\\Python\\program\\DjangoProgram\\myweb\\cilife\\static\\resources'
conn = MySQLdb.connect( host='10.5.209.13', port=3306, user='root', passwd='admin888', db='cilife', charset='utf8', ) cur = conn.cursor()
def showdir(dir_path):
# 获取类别名称
class_names = os.listdir(dir_path)
for class_name in class_names:
print('class_name:', class_name)
# 查询类别是否存在
c = cur.execute("SELECT id FROM cilife_classmodels WHERE class_name LIKE '%s'" % class_name)
# 如果不存在改类别则添加
if c == 0:
value = [class_name]
cur.execute("insert into cilife_classmodels(class_name) values(%s)", value)
conn.commit()
# 添加完成后查询类别ID
cur.execute("SELECT id FROM cilife_classmodels WHERE class_name LIKE '%s'" % class_name)
# 得到类别ID
cid = cur.fetchone()[0]
# 拼接类别目录
class_dir = os.path.join(dir_path, class_name)
# 遍历类别目录
for dirpath, dirnames, filenames in os.walk(class_dir):
dirname = str(dirpath).split('\\')[-1].encode('utf-8').decode()
if dirname != class_name:
print('dirname:', dirname)
# 查询子类是否存在
d = cur.execute("SELECT id FROM cilife_dirmodels WHERE dir_name LIKE '%s'" % dirname)
# 如果子类不存在则添加
if d == 0:
t = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
value = (cid, dirname, str(t))
cur.execute("insert into cilife_dirmodels(class_id, dir_name, date) values(%s, %s, %s)", value)
conn.commit()
# 添加完成后查询子类ID
cur.execute("SELECT id FROM cilife_dirmodels WHERE dir_name LIKE '%s'" % dirname)
did = cur.fetchone()[0]
print('did:', did)
# 遍历子类目录获取文件
for file in filenames:
# 查询文件是否已经添加进数据库
f = cur.execute("SELECT id FROM cilife_filemodels WHERE file_name LIKE '%s'" % file)
# 不存在则添加
if f == 0:
values = (did, file, '懒人,快说点什么!')
# print('file:', file)
cur.execute("insert into cilife_filemodels(dir_id, file_name, file_context) "
"values(%s, %s, %s)", values)
conn.commit()
showdir(sdir)
cur.close()
conn.close()
运行后结果:
相关文章推荐
- Django从零开始搭建一个相册网站--3.基本视图映射
- Django从零开始搭建一个相册网站--4.models
- Django从零开始搭建一个相册网站--6.取数据
- Django从零开始搭建一个相册网站--2.建站
- python django nginx从零开始搭建一个web网站系列1
- Django从零开始搭建一个相册网站--1.序
- 30分钟搭建一个小型网站框架(python django)
- ubuntu 下搭建一个python3的虚拟环境(用于django配合postgresql数据库开发)
- Python学习笔记23:Django搭建简单的博客网站(一)
- python + django + pydev +eclipse 搭建网站开发环境
- python Django框架的配置,以及用django搭建一个blog
- 如何从零开始搭建一个网站
- 使用Django搭建一个简单的Python Web工程
- django1.7.4+python2.7.6 +mysql5.5 搭建一个工程实例
- Python学习笔记24:Django搭建简单的博客网站(二)
- python25+django1.4+mysql5.1+apache2.2搭建生产管理网站
- Python学习笔记23:Django构建一个简单的博客网站(一个)
- 从零开始搭建一个网站
- Python django学习之:model (与数据库操作)
- Django数据库操作(python)