Complete project files including setup.sh
This commit is contained in:
136
README.md
Normal file
136
README.md
Normal file
@@ -0,0 +1,136 @@
|
||||
# 泸州高中摄影社论坛 📷
|
||||
|
||||
一个基于 Flask 的摄影社交平台,类似 Twitter/X,专为泸州高中摄影社设计。
|
||||
|
||||
## ✨ 主要功能
|
||||
|
||||
- **用户注册与审核** - 注册时需上传学生证照片,管理员审核通过后才能使用
|
||||
- **照片分享** - 发布摄影作品(照片+描述),支持评论互动
|
||||
- **帖子审核** - 所有帖子需经管理员审核后才能公开展示
|
||||
- **社交功能** - 关注用户,查看粉丝列表和关注列表
|
||||
- **管理面板** - 管理员可审核用户注册和帖子发布
|
||||
- **现代化UI** - 深色主题,渐变色,流畅动画
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 1. 安装依赖
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2. 运行应用
|
||||
|
||||
```bash
|
||||
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/ # 帖子图片
|
||||
```
|
||||
|
||||
## 📖 使用说明
|
||||
|
||||
### 用户注册流程
|
||||
|
||||
1. 访问注册页面
|
||||
2. 填写用户名、邮箱、密码
|
||||
3. 上传学生证照片
|
||||
4. 提交后等待管理员审核
|
||||
5. 审核通过后即可登录
|
||||
|
||||
### 发布作品流程
|
||||
|
||||
1. 登录已审核账号
|
||||
2. 点击"发帖"
|
||||
3. 上传照片并添加描述
|
||||
4. 提交后等待管理员审核
|
||||
5. 审核通过后作品公开展示
|
||||
|
||||
### 管理员审核流程
|
||||
|
||||
1. 使用管理员账号登录
|
||||
2. 访问管理面板
|
||||
3. 审核待处理的用户注册和帖子
|
||||
4. 批准或拒绝申请
|
||||
|
||||
## 🔧 配置
|
||||
|
||||
在 `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
|
||||
|
||||
---
|
||||
|
||||
**泸州高中摄影社** - 分享精彩瞬间 📸
|
||||
Reference in New Issue
Block a user