🌐 社交媒体API
使用Django和Django REST框架构建的功能齐全的后端REST API,专为现代社交媒体平台设计。
______________________________________________________________________
📌 特性
- 👤 用户身份验证(JWT)
- 🔐 基于角色的访问控制
- 🧾 帖子、评论、点赞和关注
- 📸 图片上传支持(通过Pillow)
- 📊 交互式API文档(Swagger通过
drf-yasg) - 🛠️ 调试工具(
django-debug-toolbar) - 🧪 模块化结构,易于扩展
______________________________________________________________________
⚙️ 技术栈
| 工具 | 说明 |
|---|---|
| Django 5.2.1 | Web框架 |
| Django REST框架 | API开发 |
| 简单JWT | JSON Web令牌身份验证 |
| drf-yasg | Swagger/OpenAPI模式生成器 |
| 枕头 | 图像处理 |
| psycopg2二进制 | PostgreSQL数据库适配器 |
| django调试工具栏 | 浏览器内调试面板 |
| python dotenv | 环境变量管理 |
______________________________________________________________________
🚀 入门指南
🔁 1.克隆存储库
git clone https://github.com/yourusername/social-media-api.git
cd social-media-api🐍 2.创建虚拟环境
# Linux/macOS
python3 -m venv env
source env/bin/activate
# Windows
python -m venv env
env\Scripts\activate📦 3.安装依赖项
pip install -r requirements.txt______________________________________________________________________
🔐 环境设置
创建一个 .env 根目录中的文件:
DATABASE_NAME=your_db_name
DATABASE_USER=your_db_user
DATABASE_PASS=your_db_password
DATABASE_HOST=localhost
DATABASE_PORT=5432
DEBUG=True______________________________________________________________________
🗃️ 数据库设置
🔧 进行迁移
python manage.py makemigrations role
python manage.py makemigrations user
python manage.py makemigrations post⚙️ 应用迁移
python manage.py migrate📥 加载初始数据
python manage.py loaddata app/role/fixtures/roles.json______________________________________________________________________
🧪 运行开发服务器
python manage.py runserver 0.0.0.0:8000访问API:
http://localhost:8000/______________________________________________________________________
📚 API文档
Swagger/OpenAPI文档可在以下网址获得:
http://localhost:8000/swagger/______________________________________________________________________
🧰 开发者工具
要查看开发中的调试信息,请执行以下操作:
http://localhost:8000/__debug__/______________________________________________________________________
🔄 更新软件包
要查看和更新过时的软件包,请执行以下操作:
pip-review --local --interactive______________________________________________________________________
📂 目录结构
social-media-api/
├── app/
│ ├── user/
│ ├── role/
│ └── ...
├── manage.py
├── requirements.txt
├── .env
└── README.md______________________________________________________________________
🤝 贡献
欢迎拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
______________________________________________________________________
📄 许可证
该项目根据MIT许可证获得许可。
