课程设计项目名称:基于flask的可视化动漫分析网站,如果你在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!接下来我们来做这个项目:
一、项目简介
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 自我评分
及格
————————————————
以上就是本次分享,如果你#在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。