def page(index): cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) sql = '''select * from artical where `id`=%s''' args = (index, ) cursor.execute(sql, args) row = cursor.fetchone() title = row.get('title') content = row.get('content') likeCount = row.get('likeCount') createDate = row.get('createDate') readCount = row.get('readCount') print(likeCount, readCount, createDate) #没访问一次阅读数自加一次 sql2 = 'update artical set `readCount`= %s WHERE `id`=%s' args2 = (readCount + 1, index) cursor.execute(sql2, args2) # 用格式化字符串写法 resource = render_template("/page_main_artical.html", artical=row) #todo:获取当前文章的全部评论并且fetchall展示把输出写在resourceComment里 sql3 = 'SELECT comment.userName, comment.commentContent FROM comment INNER JOIN artical ON comment.articalid=artical.id WHERE artical.id=%s ORDER BY comment.id;' args3 = (index) cursor.execute(sql3, args3) rows = cursor.fetchall() for row in rows: resource = resource + render_template("/page_comment.html", user=row) resource = resource + render_template( "/page_send_comment.html", loginuser="******", articalIndex=index) conn.commit() cursor.close() return resource
def writeComment(index): userName = request.form.get('userName') commentContent = request.form.get('commentContent') cursor = conn.cursor() sql = '''insert into comment (articalId, userName,commentContent) values (%s,%s,%s)''' cursor.execute(sql, (int(index), userName, commentContent)) conn.commit() cursor.close() return redirect("/page/" + str(index))
def write(): title = request.form.get('title') content = request.form.get('content') cursor = conn.cursor() sql = '''insert into artical (title, content,readCount,likeCount,createDate) values (%s,%s,%s,%s,%s)''' cursor.execute(sql, (title, content, 0, 0, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))) conn.commit() cursor.close() # 跳转到pages页面 return redirect(url_for('pages_blueprint.pages'))
def getSessionFromCookie(self, cookie): cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #todo:设计表 列 存储什么值 返回字典/json应该也可以 在需要读cookie保持用户session时使用 sql = '''select * from cookies where `cookie`=%s''' args = (cookie, ) cursor.execute(sql, args) row = cursor.fetchone() #todo:返回值的数据类型 dic = {} dic.add("userid", row.getUserID()) dic.add("userid", row.getUserID()) cursor.close() return None
def pages(): cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) sql = '''select * from artical''' cursor.execute(sql) rows = cursor.fetchall() cursor.close() # todo:需要做跳转到个人中心的功能 # todo:需要通过cookie获取用户id和其他东西 会话相关 user = {"userCenterPage": "1", "username": "******"} # todo:增加跳转到单页的特性 #res是整页全部文章的数据 res = render_template("/pages_title.html", user=user) for row in rows: res = res + render_template("/pages.html", artical=row) return res
def login(): username = request.form.get('username') userpswd = request.form.get('userpswd') print(username) print(userpswd) cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # todo:********************需要查询是不是被注册了 先用服务端校验吧 js不会******************** sql = '''select * from users where username=%s and userpswd=%s ''' cursor.execute(sql, (username, userpswd)) cursor.close() row = cursor.fetchone() if(row==None):#该账号没有注册或账号密码错误 #return redirect(url_for('register')) return '''<a href="/login">账号或密码错误 点击返回再试试</a>''' else:#有注册且正确 session['username'] = username session['userid'] = row.get('userid') print("*****"+session['username']+"*****"+(session['userid'])) return redirect(url_for('pages_blueprint.pages'))
def register(): username = request.form.get('username') userpswd = request.form.get('userpswd') print(username) print(userpswd) cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #todo:********************需要查询是不是被注册了 先用服务端校验吧 js不会******************** isUserNameRegistedSQL='''select * from users where username=%s''' cursor.execute(isUserNameRegistedSQL, (username,)) row = cursor.fetchone() if(row!=None): #如果能找到 就说明已经被注册了 return '''<a href="/register">该账号已经被注册 点击返回换个账号试试</a>''' #注册 sql = '''insert into users (username, userpswd) values (%s,%s)''' cursor.execute(sql, (username, userpswd)) conn.commit() cursor.close() #TODO:需要把cookie带上 #把username userid存在session中 session['username'] = request.form['username'] session['userid'] = request.form['userid'] return redirect(url_for('pages_blueprint.pages'))