3.9 KiB
3.9 KiB
泸州高中摄影社论坛 📷
一个基于 Flask 的摄影社交平台,类似 Twitter/X,专为泸州高中摄影社设计。
✨ 主要功能
- 用户注册与审核 - 注册时需上传学生证照片,管理员审核通过后才能使用
- 照片分享 - 发布摄影作品(照片+描述),支持评论互动
- 帖子审核 - 所有帖子需经管理员审核后才能公开展示
- 社交功能 - 关注用户,查看粉丝列表和关注列表
- 管理面板 - 管理员可审核用户注册和帖子发布
- 现代化UI - 深色主题,渐变色,流畅动画
🚀 快速开始
1. 安装依赖
pip install -r requirements.txt
2. 运行应用
python app.py
应用将在 http://localhost:5000 启动。
3. 管理员设置
- 默认管理员账号:
admin - 默认密码:
adminlg - 首次登录后系统会要求修改密码。
- 登录后可在管理面板创建其他管理员。
📂 项目结构
Luntan/
├── app.py # Flask 应用主文件
├── models.py # 数据库模型
├── config.py # 配置文件
├── create_admin.py # 创建管理员脚本
├── requirements.txt # 依赖列表
├── routes/ # 路由蓝图
│ ├── auth.py # 认证路由
│ ├── posts.py # 帖子路由
│ ├── users.py # 用户路由
│ └── admin.py # 管理员路由
├── templates/ # HTML 模板
│ ├── base.html # 基础模板
│ ├── index.html # 首页
│ ├── register.html # 注册页
│ ├── login.html # 登录页
│ ├── profile.html # 个人主页
│ ├── create_post.html # 发帖页
│ ├── post_detail.html # 帖子详情
│ ├── admin/ # 管理员页面
│ └── errors/ # 错误页面
├── static/ # 静态文件
│ ├── css/
│ │ └── style.css # 样式文件
│ └── js/
│ └── main.js # JavaScript 文件
└── uploads/ # 上传文件目录
├── student_ids/ # 学生证照片
└── posts/ # 帖子图片
📖 使用说明
用户注册流程
- 访问注册页面
- 填写用户名、邮箱、密码
- 上传学生证照片
- 提交后等待管理员审核
- 审核通过后即可登录
发布作品流程
- 登录已审核账号
- 点击"发帖"
- 上传照片并添加描述
- 提交后等待管理员审核
- 审核通过后作品公开展示
管理员审核流程
- 使用管理员账号登录
- 访问管理面板
- 审核待处理的用户注册和帖子
- 批准或拒绝申请
🔧 配置
在 config.py 中可以配置:
- SECRET_KEY - 应用密钥(生产环境请更换)
- DATABASE_URL - 数据库连接地址
- UPLOAD_FOLDER - 文件上传目录
- MAX_CONTENT_LENGTH - 最大上传文件大小(默认 16MB)
- POSTS_PER_PAGE - 每页显示的帖子数量
🎨 技术栈
- 后端: Flask 3.0 + SQLAlchemy
- 前端: HTML5 + CSS3 + JavaScript
- 数据库: SQLite(开发)
- 认证: Flask-Login
- 文件上传: Werkzeug
🌟 特色设计
- 深色主题 - 护眼的暗色系设计
- 渐变色 - 现代化的配色方案
- 微动效 - 流畅的过渡动画和交互效果
- 响应式布局 - 适配各种屏幕尺寸
- 拖拽上传 - 支持拖拽上传图片
- 实时预览 - 上传前即可预览图片
📝 注意事项
- 首次运行前必须先创建管理员账号
- 上传的文件存储在
uploads/目录 - 生产环境部署时请更换 SECRET_KEY
- 建议生产环境使用 PostgreSQL 或 MySQL
- 建议使用 nginx + gunicorn 部署
📄 许可证
MIT License
泸州高中摄影社 - 分享精彩瞬间 📸