河北住房建设厅网站模拟登录 wordpress
2026/1/10 11:27:34 网站建设 项目流程
河北住房建设厅网站,模拟登录 wordpress,锐酷网站建设教程,安卓 开发博主介绍#xff1a;✌全网粉丝50W#xff0c;前互联网大厂软件研发、集结硕博英豪成立软件开发工作室#xff0c;专注于计算机相关专业项目实战6年之久#xff0c;累计开发项目作品上万套。凭借丰富的经验与专业实力#xff0c;已帮助成千上万的学生顺利毕业#xff0c;…博主介绍✌全网粉丝50W前互联网大厂软件研发、集结硕博英豪成立软件开发工作室专注于计算机相关专业项目实战6年之久累计开发项目作品上万套。凭借丰富的经验与专业实力已帮助成千上万的学生顺利毕业选择我们就是选择放心、选择安心毕业✌ 想要获取完整文章或者源码或者代做拉到文章底部即可与我联系了。点击查看作者主页了解更多项目感兴趣的可以先收藏起来点赞、关注不迷路大家在毕设选题项目以及论文编写等相关问题都可以给我留言咨询希望帮助同学们顺利毕业 。1、毕业设计2026年计算机专业毕业设计选题汇总建议收藏✅2、最全计算机大数据专业毕业设计选题大全建议收藏✅1、项目介绍技术栈Python语言、Django框架、Vue框架、MySQL数据库、Echarts可视化、HTML、数据大屏基于用户协同过滤推荐算法、美食推荐一、推荐模块1、基于用户行为的推荐如果用户有评分记录推荐模块会根据用户评分过的美食类型进行推荐。这是一种基于用户行为的协同过滤方法。如果用户没有评分记录则随机推荐美食以增加用户发现新内容的机会。2、动态 SQL 查询根据用户评分过的美食类型动态生成 SQL 查询条件确保推荐结果与用户的兴趣相关。3、随机排序使用 ORDER BY RAND() 随机排序推荐结果增加推荐的多样性和随机性避免用户总是看到相同的推荐内容。随机推荐12个。2、项目界面1首页美食信息2美食数据大屏3评分信息记录4我的评论5我的收藏6美食推荐7注册登录8管理员界面9个人中心10美食数据管理3、项目说明项目功能介绍首页美食信息核心展示板块集中呈现各类美食基础信息如名称、图片、简介、所属品类等是用户浏览美食的核心入口直观呈现平台内的美食资源。美食数据大屏基于Echarts实现数据可视化展示美食相关维度数据如不同品类美食的热度、用户评分分布、地域美食占比等以图表形式直观呈现数据趋势便于用户和管理员掌握平台美食数据概况。评分信息记录记录用户对各类美食的评分行为包含评分分值、评分时间、对应美食名称等信息是推荐模块的核心数据来源为个性化推荐提供依据。我的评论用户个人评论管理板块可查看、编辑、删除自己发布的美食评论支持用户表达对美食的评价与反馈实现互动交流。我的收藏用户收藏功能可将心仪的美食添加至收藏列表支持快速查找已收藏的美食满足用户个性化的美食收藏与管理需求。美食推荐核心功能模块结合用户协同过滤算法有评分记录时按用户评分的美食类型精准推荐无评分记录时随机推荐12个美食兼顾推荐精准性与多样性。注册登录基础账号功能支持新用户注册、老用户登录验证用户身份是用户使用个性化功能如评分、收藏的前提。管理员界面后台管理核心入口管理员可在此进行用户权限管理、美食信息审核、数据大屏参数配置等操作保障平台运营与数据管理。个人中心用户个人信息管理板块可查看/修改个人资料如昵称、头像汇总展示个人评分、评论、收藏等行为记录整合用户个性化操作入口。美食数据管理管理员专属功能支持新增、编辑、删除美食基础信息审核用户提交的美食数据维护平台内美食信息的准确性与完整性。4、核心代码fromdjango.shortcutsimportrender,redirectfromdjango.core.paginatorimportPaginator# Create your views here.from.utilsimportgetPublicDatafrom.utilsimportgetFenxiDatafrom.utils.errorimport*fromdjango.httpimportJsonResponsefromdjango.views.decorators.httpimportrequire_http_methodsimportjsonfrom.crud_baseimportCRUDBaseimportpymysqldeftuijian(request):ifrequest.methodPOST:datajson.loads(request.body)useriddata[userid]print(userid)# 获取用户评分过的漫画类型user_rated_typesgetPublicData.querys( SELECT DISTINCT m.style FROM mh m INNER JOIN rate r ON r.prodid m.id WHERE r.userid %s ,[userid],select)# 如果用户有评分记录推荐相同类型的漫画ifuser_rated_types:style_list[t[0]fortinuser_rated_types]style_conditions OR .join([style %s]*len(style_list))# 获取相同类型的其他漫画datalistgetPublicData.querys(f SELECT * FROM mh WHERE{style_conditions}ORDER BY RAND() LIMIT 12 ,style_list,select)else:# 如果用户没有评分记录随机推荐漫画datalistgetPublicData.querys(SELECT * FROM mh ORDER BY RAND() LIMIT 12,[],select)# 构建返回数据data_list[]fields[id,title,detail_url,style,area,price,status,authors,description,cover_url,froms]foritemindatalist:node{}forindex,fieldinenumerate(fields):node[field]item[index]data_list.append(node)returnJsonResponse({code:200,msg:成功,data:data_list})defadminupdate(request):ifrequest.methodPUT:datajson.loads(request.body)print(data)iddata[id]usernamedata[username]namedata[name]roledata[role]phonedata[phone]qupdate admin set username username,namename,rolerole,phonephonewhere id str(id)getPublicData.querys(q,[],no_select)returnJsonResponse({code:200,msg:成功,data:None})defadminupdatePassword(request):ifrequest.methodPUT:datajson.loads(request.body)print(data)iddata[id]newPassworddata[newPassword]qupdate admin set password newPasswordwhere id str(id)getPublicData.querys(q,[],no_select)returnJsonResponse({code:200,msg:成功,data:None})defpersonupdate(request):ifrequest.methodPUT:datajson.loads(request.body)print(data)iddata[id]usernamedata[username]namedata[name]roledata[role]phonedata[phone]qupdate user set username username,namename,rolerole,phonephonewhere id str(id)getPublicData.querys(q,[],no_select)returnJsonResponse({code:200,msg:成功,data:None})defpersonupdatePassword(request):ifrequest.methodPUT:datajson.loads(request.body)print(data)iddata[id]passworddata[newPassword]qupdate user set password passwordwhere id str(id)getPublicData.querys(q,[],no_select)returnJsonResponse({code:200,msg:成功,data:None})classUserCRUD(CRUDBase):def__init__(self):super().__init__(table_nameuser,fields[id,username,password,name,role,phone],required_fields[username,password]# 设置必填字段)deflist(self,request)-JsonResponse:ifrequest.method!POST:returnJsonResponse({code:5004,msg:请求方法错误,data:None})try:datajson.loads(request.body)usernamedata.get(username)ifusername:sqlfSELECT * FROM {self.table_name} WHERE username LIKE CONCAT(%%, %s, %%)resultgetPublicData.querys(sql,[username],select)else:sqlfSELECT * FROM {self.table_name}resultgetPublicData.querys(sql,[],select)# 格式化返回数据data_list[]foriteminresult:node{}forindex,fieldinenumerate(self.fields):node[field]item[index]data_list.append(node)returnJsonResponse({code:200,data:{list:data_list}})exceptExceptionase:returnJsonResponse({code:5004,msg:str(e),data:None})user_crudUserCRUD()defuserlist(request):returnuser_crud.list(request)defuseradd(request):returnuser_crud.add(request)defuserdelete(request):returnuser_crud.delete(request)defuserupdate(request):returnuser_crud.update(request)classCommentCRUD(CRUDBase):def__init__(self):super().__init__(table_namecomment,fields[id,content,userid,prodid,time],required_fields[content,userid,prodid]# 设置必填字段)comment_crudCommentCRUD()defcommentlist(request):returncomment_crud.list(request)defcommentadd(request):returncomment_crud.add(request)defcommentdelete(request):returncomment_crud.delete(request)defcommentupdate(request):returncomment_crud.update(request)classRateCRUD(CRUDBase):def__init__(self):super().__init__(table_namerate,fields[id,score,userid,prodid,time],required_fields[score,userid,prodid]# 设置必填字段)rate_crudRateCRUD()defratelist(request):returnrate_crud.list(request)defrateadd(request):returnrate_crud.add(request)defratedelete(request):returnrate_crud.delete(request)defrateupdate(request):returnrate_crud.update(request)classCollectCRUD(CRUDBase):def__init__(self):super().__init__(table_namecollect,fields[id,userid,prodid,time],required_fields[userid,prodid])collect_crudCollectCRUD()defcollectlist(request):returncollect_crud.list(request)defcollectadd(request):returncollect_crud.add(request)defcollectdelete(request):returncollect_crud.delete(request)defcollectupdate(request):returncollect_crud.update(request)deflogin(request):ifrequest.methodGET:returnrender(request,Login.html)else:datajson.loads(request.body)print(data)usernamedata[username]passworddata[password]roledata[role]print(username,password,role)ifroleADMIN:usersgetPublicData.querys(fselect * from admin where username{username} and password{password},[],select)ifusers:returnJsonResponse({code:200,data:{role:users[0][4],id:users[0][0],name:users[0][3],password:users[0][2],phone:users[0][5],username:users[0][1],}})else:returnJsonResponse({code:5004,msg:用户不存在,data:None})else:usersgetPublicData.querys(fselect * from user where username{username} and password{password},[],select)ifusers:returnJsonResponse({code:200,data:{role:users[0][4],id:users[0][0],name:users[0][3],password:users[0][2],phone:users[0][5],username:users[0][1],}})else:returnJsonResponse({code:5004,msg:用户不存在,data:None})defregistry(request):ifrequest.methodPOST:datajson.loads(request.body)print(data)usernamedata[username]passworddata[password]namedata[name]roledata[role]phonedata[phone]getPublicData.querys(insert into user(username,password,name,role,phone) values(%s,%s,%s,%s,%s) ,[username,password,name,role,phone])returnJsonResponse({code:200,msg:注册成功,data:None})deflogOut(request):request.session.clear()returnredirect(login)classFoodCRUD(CRUDBase):def__init__(self):super().__init__(table_namefood,fields[id,title,cover,score,redu,sc,biaoqian,yuanliao,js,shijian,type,category,fbr,fbrdetail,detail])food_crudFoodCRUD()deffood_list(request):returnfood_crud.list(request)deffood_add(request):returnfood_crud.add(request)deffood_delete(request):returnfood_crud.delete(request)deffood_update(request):returnfood_crud.update(request)defget_food_analysis(request):try:data{type_data:getFenxiData.get_food_type_count(),category_data:getFenxiData.get_food_category_count(),rate_data:getFenxiData.get_top_rated_food(),collect_data:getFenxiData.get_top_collected_food(),comment_data:getFenxiData.get_top_commented_food(),popular_data:getFenxiData.get_most_popular_food()}returnJsonResponse({code:200,msg:成功,data:data})exceptExceptionase:returnJsonResponse({code:5004,msg:f获取分析数据失败{str(e)},data:None})defget_time_distribution(request):ifrequest.methodGET:try:datagetFenxiData.get_time_distribution()returnJsonResponse({code:200,msg:成功,data:[{time_period:item[0],count:item[1]}foritemindata]})exceptExceptionase:returnJsonResponse({code:5004,msg:f获取时间分布统计失败{str(e)},data:None})defget_score_distribution(request):ifrequest.methodGET:try:datagetFenxiData.get_score_distribution()returnJsonResponse({code:200,msg:成功,data:[{score_range:item[0],count:item[1]}foritemindata]})exceptExceptionase:returnJsonResponse({code:5004,msg:f获取评分分布统计失败{str(e)},data:None})defget_collection_distribution(request):ifrequest.methodGET:try:datagetFenxiData.get_collection_distribution()returnJsonResponse({code:200,msg:成功,data:[{collection_range:item[0],count:item[1]}foritemindata]})exceptExceptionase:returnJsonResponse({code:5004,msg:f获取收藏分布统计失败{str(e)},data:None})✌感兴趣的可以先收藏起来点赞关注不迷路想学习更多项目可以查看主页大家在毕设选题项目编程以及论文编写等相关问题都可以给我留言咨询希望可以帮助同学们顺利毕业✌5、源码获取方式由于篇幅限制获取完整文章或源码、代做项目的拉到文章底部即可看到个人联系方式。点赞、收藏、关注不迷路下方查看获取联系方式

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询