the first commit

This commit is contained in:
xiaozhu 2019-12-29 21:33:37 +08:00
parent f7713c3979
commit 543f616575
6 changed files with 117 additions and 0 deletions

49
mod/mysql.py Normal file
View File

@ -0,0 +1,49 @@
# -*- coding: UTF-8 -*-
import pymysql
class Mysql(object):
def __init__(self):
#配置mysql数据库信息
config = {
'host': '127.0.0.1',
'port': 3306,
'user': 'root',
'passwd': '123456',
'db': 'news',
'charset': 'utf8'
}
self.host = config['host']
self.username = config['user']
self.password = config['passwd']
self.port = config['port']
self.db = config['db']
self.con = None
self.cursor = None
try:
self.conn = pymysql.connect(**config)
# 所有的查询,都在连接 con 的一个模块 cursor 上面运行的
self.cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
except:
print("DataBase connect error,please check the db config.")
def exeCommit(self, sql=''):
"""执行数据库sql语句针对更新,删除,事务等操作失败时回滚
"""
try:
execute = self.cursor.execute(sql)
self.conn.commit()
return execute
except pymysql.Error as e:
self.conn.rollback()
error = 'MySQL execute failed! ERROR (%s): %s' % (e.args[0], e.args[1])
print("error:", error)
return error
def __del__(self):
# 关闭cursor对象
self.cursor.close()
self.conn.close()

37
mod/news.py Normal file
View File

@ -0,0 +1,37 @@
from mod.mysql import Mysql
import json
import datetime
class News:
#获取全部文章的方法
def content(self):
mysql = Mysql()
sql = "SELECT * From news"
execute = mysql.exeCommit(sql)
if(execute >= 1):
cursor = mysql.cursor
result = cursor.fetchall()
del mysql
data = {'status': 'success', 'msg': '获取文章成功', 'data':result}
return json.dumps(data, cls=CJsonEncoder)
else:
del mysql
data = {'status': 'faild', 'msg': '没有文章' , 'data':None}
return json.dumps(data, cls=CJsonEncoder)
class CJsonEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, datetime.date):
return obj.strftime("%Y-%m-%d")
else:
return json.JSONEncoder.default(self, obj)
if __name__ == '__main__':
news = News()
result = news.content()
print(result)

7
requirements.txt Normal file
View File

@ -0,0 +1,7 @@
cheroot==8.2.1
jaraco.functools==3.0.0
Markdown==3.1.1
more-itertools==8.0.2
PyMySQL==0.9.3
six==1.13.0
web.py==0.40

24
run.py Normal file
View File

@ -0,0 +1,24 @@
# -*- coding: UTF-8 -*-
import web
from mod.news import News
urls = (
'/news','api',
)
# render = web.template.render('templates')
app = web.application(urls, globals())
#api的方法
class api:
def GET(self):
news = News()
return news.content()
def POST(self):
news = News()
return news.content()
if __name__ == '__main__':
app.run()

BIN
static/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

BIN
static/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB