Foodgram 项目教程
1. 项目的目录结构及介绍
foodgram-project-react/
├── backend/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── frontend/
│ ├── public/
│ │ ├── index.html
│ │ └── ...
│ ├── src/
│ │ ├── App.js
│ │ ├── index.js
│ │ └── ...
│ └── package.json
├── infra/
│ ├── docker-compose.yml
│ ├── nginx/
│ │ └── default.conf
│ └── ...
├── tests/
│ ├── __init__.py
│ ├── test_models.py
│ └── ...
├── .env.template
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── ...
目录结构介绍
-
backend/: 包含项目的后端代码,使用 Django 框架。
__init__.py
: 初始化文件。settings.py
: Django 项目的配置文件。urls.py
: URL 路由配置文件。wsgi.py
: WSGI 配置文件。
-
frontend/: 包含项目的前端代码,使用 React 框架。
public/
: 存放公共静态文件。src/
: 存放 React 组件和逻辑代码。package.json
: 前端项目的依赖管理文件。
-
infra/: 包含项目的部署配置文件。
docker-compose.yml
: Docker 容器编排文件。nginx/
: 存放 Nginx 配置文件。
-
tests/: 包含项目的测试代码。
__init__.py
: 初始化文件。test_models.py
: 模型测试文件。
-
.env.template: 环境变量模板文件。
-
.gitignore: Git 忽略文件配置。
-
LICENSE: 项目许可证文件。
-
README.md: 项目说明文件。
-
requirements.txt: 后端依赖包列表。
2. 项目的启动文件介绍
后端启动文件
- backend/manage.py: Django 项目的管理脚本,用于启动开发服务器、运行测试等。
python manage.py runserver
前端启动文件
- frontend/package.json: 前端项目的依赖管理文件,包含启动命令。
npm start
3. 项目的配置文件介绍
后端配置文件
- backend/settings.py: Django 项目的配置文件,包含数据库配置、静态文件配置、中间件配置等。
# 数据库配置示例
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'foodgram',
'USER': 'user',
'PASSWORD': 'password',
'HOST': 'db',
'PORT': '5432',
}
}
前端配置文件
- frontend/package.json: 前端项目的依赖管理文件,包含项目的依赖包和启动命令。
{
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
}
部署配置文件
- infra/docker-compose.yml: Docker 容器编排文件,定义了后端、前端、数据库等服务的配置。
version: '3.8'
services:
backend:
build: ./backend
ports:
- "8000:8000"
depends_on:
- db
frontend:
build: ./frontend
ports:
- "3000:3000"
db:
image: postgres:13
environment:
POSTGRES_DB: foodgram
POSTGRES_USER: user
POSTGRES_PASSWORD: password
以上是 Foodgram 项目的目录结构、启动文件和配置文件的详细介绍。希望这份教程能帮助你更好地理解和使用该项目。