基于flask的可视化动漫分析网站

基于flask的可视化动漫分析网站

课 程 名: python程序设计高级运用
课程设计项目名称:基于flask的可视化动漫分析网站
团队成员: 20161125章耀鹤 20161737林秋松 20161309刘建南
一、项目简介
1.1 项目博客地址
https://blog.csdn.net/moshangs/article/details/103666996
1.2 项目完成的功能与特色
1.2.1系统功能,特色分析
系统主要包含以下功能:
(1)后端登录:当用户要查看想要的资源或发布弹幕评论时,可以登陆网页
(2)弹幕发布:弹幕通过后端发布后,在前端交互,数据在前端首页和二级页面显示
(3)数据分析:可以对数据进行分析处理,生产表格在前端页面显示。
1.3项目采用的技术栈
Python、MySQL
1.4 项目借鉴源代码的地址
https://www.jianshu.com/p/4953c7cc3641
1.5 团队成员任务分配表在这里插入代码片
林秋松:实现登录,注册,登录状态的功能。数据库创建。
刘建南:网页的搜索指数排行榜,包括数据库pie。
章耀鹤:网页的搜索指数排行榜,包括数据库bar。
二、项目的需求分析
信息时代的今天,网络已经成为人们工作、学习的一部分,不断充实和改变着人们的生活。尤其是其中的二次元文化。网友则可以根据二次元发表个人的意见,表达自己的想法,与网友进行思想交流,乐在其中。

三、项目功能架构图、主要功能流程图

在这里插入图片描述

四、系统模块说明
4.1 系统模块列表
林秋松:实现登录,注册,登录状态的功能。数据库创建。评论功能。蓝图路由。
章耀鹤:后台管理,分析数据并且做
刘建南:前端页面设计,分析数据并做
4.2 各模块详细描述(名称,功能,运行截图,关键源代码)
4.3 博客设计模块
1.创建数据库模型,创建了user_data表用来存储用户
class data_deal:
def init(self):
self.coon = pymysql.connect(host=“localhost”,
port=3306, # 端口
user=“root”, # 用户名
password=“123”, # 密码
db=‘flask_data’, # 数据库
charset=‘utf8’) # 编码
self.cursor = self.coon.cursor()

然后设置好数据库后端,注册app,进行静态文件配置等一系列相关配置,mysqlde库的下载,创建数据库并保存模型。
登入注册功能
def sign_in(self,name,id,password): # 注册
try:
self.coon.ping(reconnect = True)
self.cursor.execute(“insert into user_data values (’%s’, ‘%s’, ‘%s’);”%(id,name,password))
self.coon.commit()
self.coon.close()
return ‘注册成功’
except:
return ‘id错误或者用户名已存在’

def forgot_password(self):
    pass

def check(self, name, password): # 登入时的检查
    self.coon.ping(reconnect=True)
    try:
        data = self.cursor.execute('select * from user_data where (username = "%s" and userpassword = "%s") or (id = "%s" and userpassword = %s);'%(name,password,name,password))
        self.coon.commit()
        self.coon.close()

        if data == 0:
            return False
        return True
    except:
        pass

效果图
在这里插入图片描述
在这里插入图片描述
实现系统的登陆注册功能。

2.前端页面设计
在home.html中编写视图框架并创建前端网页
部分页面设计代码
def message(self):
self.usermessage[‘name’] = request.form.get(“name”)
self.usermessage[‘email’] = request.form.get(“email”)
self.usermessage[‘password’] = request.form.get(“password”)
self.usermessage[‘name1’] = request.form.get(“name1”)
self.usermessage[‘email1’] = request.form.get(“email1”)
self.usermessage[‘password1’] = request.form.get(“password1”)
self.usermessage[‘an1’] = request.form.get(“an1”)
self.usermessage[‘txt’] = request.form.get(“txt”)
return self.usermessage

@user.route(’/login/’, methods=[“GET”, “POST”]) # 登入界面路由
def login_html():
message = dt.message()
if message[‘an1’] == None:
if message[‘name’] != None and message[‘password’] != None:
if dl.check(message[‘name’], message[‘password’]) is True:
return redirect(url_for(‘user.home_html’))
# return render_template(‘home.html’)

实现系统的前端设计。
3.分析数据图
导入pie和BAR
from pyecharts import Pie # 饼状图
from pyecharts import Bar # 条形图

数据设计
def draw_Pie(self, pie_name_ls, pie_value_ls):
# labels = [‘航海王’,‘一拳超人’,‘火影忍者’,‘阴阳师’,‘名侦探柯南’,‘进击的巨人’,‘奥特曼’,‘三次元女友’,‘我的英雄学院’,‘灌篮高手’]
# values = [‘37315’,‘10685’,‘8369’,‘8015’,‘3085’,‘3044’,‘2995’,‘2427’,‘2422’,‘2241’]
labels = pie_name_ls
values = pie_value_ls
ptitle = Pie(‘饼状图’)
ptitle.add(“饼状图”,labels,values,is_label_show=True)
# ptitle.show_config()
ptitle.render(r"templates/Pie.html")

def draw_Bar(self, bar_name_ls, bar_value_ls):
    # lsbels = ["OVER LORD", "狐妖小红娘", "齐木楠雄的灾难", "一人之下", "我的英雄学院", "关于我转生变成史莱姆这档事", "干物妹小埋", "Fate/stay night", "镇魂街",
    #           "从零开始的异世界生活"]
    # values = [5.1, 4.8, 3, 2.4, 1.9, 1.9, 1.9, 1.8, 1.8, 1.7]
    lsbels = bar_name_ls
    values = bar_value_ls
    ptitle = Bar("条形图")
    ptitle.add("单位:亿", lsbels, values, is_label_show=True, mark_point=['min', 'max'], mark_line=['average'])
    # ptitle.show_config()
    ptitle.render(r"templates/Bar.html")

在这里插入图片描述

在这里插入图片描述

对数据的进行分析,并生成表格形式。
4.路由蓝图设计
在views.py中书写路由

@user.route(’/login/’, methods=[“GET”, “POST”]) # 登入界面路由
def login_html():
message = dt.message()
if message[‘an1’] == None:
if message[‘name’] != None and message[‘password’] != None:
if dl.check(message[‘name’], message[‘password’]) is True:
return redirect(url_for(‘user.home_html’))
# return render_template(‘home.html’)

@user.route(’/home/’, methods=[“GET”, “POST”]) # 主页路由
def home_html():
message = dt.message()
if message[‘txt’] != None:
dl.write_text(message[‘txt’])
ls = dl.read_txt()
return render_template(‘home.html’, ls=ls)

5.评论功能
在这里插入图片描述
def write_text(self,txt):
try:
self.coon.ping(reconnect = True)
self.cursor.execute(“insert into user_txt values (’%s’);”%(txt))
self.coon.commit()
self.coon.close()
except:
return ‘弹幕发送失败’

def read_txt(self):
    try:
        self.coon.ping(reconnect = True)
        self.cursor.execute("select * from user_txt;")
        a = self.cursor.fetchall()
        ls = []
        for i in a:
            ls.append(i[0])
        self.coon.commit()
        self.coon.close()
        return ls
    except:
        return "读取失败"

三、工作量评估
3.1 完成的模块数和代码行数
章耀鹤: 刘建南:林秋松
完成模块数:4 完成模块数:4

3.2 技术含量
实现用户注册登录以及用户的登录状态,前端的页面展示。实现了可视化数据分析,评论功能,蓝图路由设计。
3.3 自我评分
及格

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值