本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。
一、项目描述
基于 Django + 协同过滤算法的豆瓣电影推荐系统,前端 Bootstrap,后端 SQLite,内置约 2250 部电影数据,根据用户评分与标签偏好生成个性化推荐,准确率约 75%。
### 访问地址
– 首页: http://127.0.0.1:8000/ (账号test111 / 密码123456)
– 后台: http://127.0.0.1:8000/admin/ (账号admins / 密码admins)
二、项目功能
– 电影展示:列表分页、热门排序、收藏排序、时间排序、评分排序
– 标签分类与电影搜索(按片名/导演/简介)
– 用户注册、登录、注销、信息修改
– 电影评分、收藏、评论、评论点赞
– 两种推荐算法:基于用户的皮尔逊协同过滤 + 基于物品的余弦相似度
– 后台管理(Django admin + simpleui)
三、运行环境
– Python 3.7~3.11(原项目 3.7;本次升级后兼容 3.11)
– Django 4.2 LTS(原 2.2.10,已升级)
– SQLite 3(db.sqlite3 已含数据)
– 依赖:djangorestframework、django-simpleui、beautifulsoup4、lxml、aiohttp
– 启动:`pip install -r requirements.txt` →`python manage.py runserver` → 访问 127.0.0.1:8000,后台 /admin(账号密码均 admins)
四、项目技术
– 前端:Bootstrap 3 + jQuery + HTML5
– 后端:Django 4.2 + Django REST Framework(MVC)
– 数据库:SQLite3
– 算法:UserCF(皮尔逊相关系数)、ItemCF(余弦相似度),冷启动用标签偏好 + 热度兜底
– 数据来源:豆瓣 Top250 + 影片列表爬虫( douban_crawler.py ),结果落库为 csv 再导入 SQLite
– 数据填充脚本: populate_movies.py 、 populate_user_rate.py (随机生成 100 用户、1000 评分)
以上系统源码经过技术整理与调试,确保能正常运行
五、项目截图ls/154241353