def getbooks(): if request.method == 'GET': sql = 'select * from vue_books;' books = db.session.execute(sql) books = Book.query.all() books = myutils.to_json(books) return jsonify(books)
def get_all_blogs(): try: sql = 'select * from Blog;' blogs = db.session.execute(sql) blogs = Blog.query.order_by(-Blog.create_time) blogs = myutils.to_json(blogs) state = {"status": "200", "msg": "成功从数据库拿到数据~"} blogs.insert(0, state) return Response(json.dumps(blogs), mimetype='application/json') except: return jsonify({"status": "400", "msg": "获取数据发生异常~"})
def getAuthors(): try: sql = 'select * from Author;' authors = db.session.execute(sql) authors = Author.query.filter().all() authors = myutils.to_json(authors) state = {"status": "200", "msg": "成功从数据库拿到数据~"} authors.insert(0, state) print(authors) return Response(json.dumps(authors), mimetype='application/json') except: return jsonify({"status": "400", "msg": "获取数据发生异常~"})
def get_single_blog(): try: id = request.args.get('id') blog = Blog.query.filter(Blog.id == id) blog = myutils.to_json(blog) authorId = blog[0]['authorId'] author = Author.query.filter(Author.id == authorId).first() blog[0]['author'] = author.user_name state = {"status": "200", "msg": "成功从数据库拿到数据~"} blog.insert(0, state) return Response(json.dumps(blog), mimetype='application/json') except: return jsonify({"status": "400", "msg": "获取数据发生异常~"})
def edit_book(book_id): data = request.get_json() author = data['author'] title = data['title'] read = data['read'] book = Book.query.filter(Book.id == book_id).first() book.title = title book.author = author book.read = read db.session.commit() book = Book.query.filter(Book.id == book_id) book = myutils.to_json(book) return jsonify('success')
def get_personal_blogs(): data = request.get_json() userName = data['user'].split(':')[1][1:-2] author = Author.query.filter(Author.user_name == userName).first() authorId = author.id try: blogs = Blog.query.filter(Blog.authorId == authorId) blogs = myutils.to_json(blogs) blogs = myutils.sortBlogsByTime(blogs) state = {"status": "200", "msg": "成功从数据库拿到数据~"} blogs.insert(0, state) return Response(json.dumps(blogs), mimetype='application/json') except: return jsonify({"status": "400", "msg": "获取数据发生异常~"})
def get_favorite_blogs(): data = request.get_json() userName = data['user'].split(':')[1][1:-2] author = Author.query.filter(Author.user_name == userName).first() try: favoriteBlogs = [] if '|' in author.favoriteBlogs: blogs = author.favoriteBlogs.split('|') else: blogs = [author.favoriteBlogs] for blogid in blogs: blog = Blog.query.filter(Blog.id == blogid) if blog: blog = myutils.to_json(blog) favoriteBlogs.extend(blog) favoriteBlogs = myutils.sortBlogsByTime(favoriteBlogs) state = {"status": "200", "msg": "成功从数据库拿到数据~"} favoriteBlogs.insert(0, state) return Response(json.dumps(favoriteBlogs), mimetype='application/json') except: return jsonify({"status": "400", "msg": "获取数据发生异常~"})
def submitComment(): data = request.get_json() userName = data['user'].split(':')[1][1:-2] blogId = data['blogId'] blog = Blog.query.filter(Blog.id == blogId).first() comment = data['comment'] author = Author.query.filter(Author.user_name == userName).first() authorId = author.id id = myutils.createRandomString(10) try: comment = Comment(id=id, author=author, content=comment, blogId=blogId, authorId=authorId, blog=blog) db.session.add(comment) db.session.commit() except: db.session.rollback() try: comments = Comment.query.filter( Comment.blogId == blogId).order_by(-Comment.create_time).all() comments = myutils.to_json(comments) return_comments = [] for i in range(len(comments)): temp = {} author = Author.query.filter( Author.id == comments[i]['authorId']).first() name = author.user_name temp['authorName'] = name temp['createTime'] = comments[i]['create_time'] temp['content'] = comments[i]['content'] return_comments.append(temp) state = {"status": "200", "msg": "成功拿到评论啦~"} return_comments.insert(0, state) return Response(json.dumps(return_comments), mimetype='application/json') except: return jsonify({"status": "400", "msg": "获取评论数据发生异常~"})
def get_comments(id=None): try: blogId = request.args.get('id') comments = Comment.query.filter( Comment.blogId == blogId).order_by(-Comment.create_time).all() comments = myutils.to_json(comments) # print(comments) return_comments = [] for i in range(len(comments)): temp = {} author = Author.query.filter( Author.id == comments[i]['authorId']).first() name = author.user_name temp['authorName'] = name temp['createTime'] = comments[i]['create_time'] temp['content'] = comments[i]['content'] return_comments.append(temp) state = {"status": "200", "msg": "成功拿到评论啦~"} return_comments.insert(0, state) return Response(json.dumps(return_comments), mimetype='application/json') except: return jsonify({"status": "400", "msg": "获取评论数据发生异常~"})
def get_book(book_id): book = Book.query.filter(Book.id == book_id) book = myutils.to_json(book) return jsonify(book)
def test2(self): obj = {"id": 100500, "name": "ahaha", "marks": [5, 7, 5, 8], "is_valid": True} self.assertEqual(to_json(obj), json.dumps(obj))
def test6(self): obj = {True: 1} self.assertEqual(to_json(obj), json.dumps(obj))
def test4(self): obj = '\'\"' self.assertEqual(to_json(obj), json.dumps(obj))
def test7(self): obj = '\\' self.assertEqual(to_json(obj), json.dumps(obj))
def test8(self): obj = None self.assertEqual(to_json(obj), json.dumps(obj))
def test9(self): obj = [None, {1: ["1", {"2": 2}]}, False, 3, "3"] self.assertEqual(to_json(obj), json.dumps(obj))
def test10(self): obj = {'None': 1} self.assertEqual(to_json(obj), json.dumps(obj))
def test3(self): obj = {None: 1} self.assertEqual(to_json(obj), json.dumps(obj))