社交媒体API服务

一个功能全面的后端REST API,基于Django和Django REST Framework构建,专为现代社交媒体平台设计。

  • by TechMaverickHub
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 TechMaverickHub/AI-learning-MCP-Coach-backend

使用说明

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