You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.4 KiB
99 lines
2.4 KiB
import json
|
|
from flask import Flask, jsonify
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
|
|
# 创建Flask实例
|
|
from DiaryBottle.code.DiaryBottleServe import MyEncoder
|
|
|
|
app = Flask(__name__)
|
|
# 指定配置
|
|
# 指定数据库连接及表名
|
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:1234@127.0.0.1:3306/diary_bottle?charset=utf8'
|
|
# 省略提交操作
|
|
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
|
|
# 创建数据库对象
|
|
db = SQLAlchemy(app)
|
|
|
|
|
|
class User(db.Model):
|
|
"""
|
|
用户类
|
|
"""
|
|
__tablename__ = 'user'
|
|
id = db.Column(db.String(12), primary_key=True)
|
|
account = db.Column(db.String(20))
|
|
password = db.Column(db.String(20))
|
|
username = db.Column(db.String(32)) # 用户名
|
|
sex = db.Column(db.String(2)) # 性别
|
|
signature = db.Column(db.String(256))
|
|
sex = db.Column(db.String(2))
|
|
birthday = db.Column(db.Date())
|
|
mail = db.Column(db.String(30))
|
|
|
|
|
|
class Diary(db.Model):
|
|
"""
|
|
日记类
|
|
"""
|
|
__tablename__ = 'diary'
|
|
id = db.Column(db.String(12), primary_key=True)
|
|
uid = db.Column(db.String(12))
|
|
date = db.Column(db.Date())
|
|
mood = db.Column(db.String(8))
|
|
weather = db.Column(db.String(8))
|
|
content = db.Column(db.String())
|
|
authority = db.Column(db.String(10))
|
|
|
|
|
|
def user2dict(user):
|
|
return {
|
|
'id': user.id,
|
|
'account': user.account,
|
|
'password': user.password,
|
|
'username': user.username,
|
|
'signature': user.signature,
|
|
'sex': user.sex,
|
|
'birthday': str(user.birthday),
|
|
'mail': user.mail,
|
|
}
|
|
|
|
|
|
def diary2dict(diary):
|
|
return {
|
|
'id': diary.id,
|
|
'uid': diary.uid,
|
|
'date': str(diary.date),
|
|
'mood': diary.mood,
|
|
'weather': diary.weather,
|
|
'content': diary.content,
|
|
'authority': diary.authority,
|
|
}
|
|
|
|
|
|
@app.route('/')
|
|
def index():
|
|
return '服务器正常运行'
|
|
|
|
|
|
# 获取用户
|
|
@app.route("/select/user")
|
|
def select_user():
|
|
ulist = User.query.all()
|
|
ulist_json = []
|
|
for u in ulist:
|
|
ulist_json.append((json.dumps(u, default=user2dict, ensure_ascii=False)))
|
|
return str(ulist_json).replace("'", "")
|
|
|
|
|
|
@app.route("/select/diary")
|
|
def select_diary():
|
|
dlist = Diary.query.all()
|
|
dlist_json = []
|
|
for u in dlist:
|
|
dlist_json.append((json.dumps(u, default=diary2dict, ensure_ascii=False)))
|
|
return str(dlist_json).replace("'", "")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app.run('0.0.0.0')
|