使用说明
🌐 社交媒体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许可证获得许可。
