我有一个以 Django 作为后端的项目。
对于客户端,我有 4 个不同的部分:
- super 用户的 Django 管理面板,由 Django 本身呈现。
- 由 Django-Jinja 模板系统呈现的用户 Login 和 Signup 部分。
- 应用管理面板,它是一个 React 应用
- 主应用前端,它是一个 React 应用
我脑子里的结构是这样的:
├── djangoproject
│ ├── __init__.py
│ ├── settings.py (can be folder)
│ ├── urls.py
│ └── wsgi.py
├── apps
| ├── admin_panel
| ├── core
| ├── auth
| └── ...
├── templates
| ├── admin_panel (react)
| ├── core (react)
| └── auth
├── static
└── manage.py
我有两个问题:
1- 我是否应该更改我的项目结构(例如将 React 文件夹移到外部或使用前端文件夹命名而不是模板?)
2- 将 git 子模块 用于 React 应用程序并仅在主项目中提交它们的构建是否常见(或合理)?如果是,您能否提供任何示例或最佳实践?
最佳答案
对于项目结构的最佳实践,我认为您应该在后端存储库(文件夹)之外为前端(react)创建一个不同的存储库(文件夹)。
后端结构
我遵循这个项目结构:
├──djangoproject
|
|__config
| |
| |__settings
| | |
| | |__base.py
| | |__local.py
| |
| |__urls.py
| |__wsgi.py
| |__ __init__.py
|
|__djangoproject
| |
| |__users (user app dirctory)
| |__products (product app dirctory)
| |__ __init__.py
|
|
|__static
| |
| |__css
| |__js
|
|__media
|
|__manage.py
|__gitignore
前端结构
├──djangoproject(React)
|
|__app
| |
| |__assests
| | |
| | |__fonts
| | |__images
| |
| |__components
| | |__your components
| |__containers
| | |__Your containers
| |__app.js
|
|
|__README.md
|
|__package.json
|__gitignore
为了更好地理解项目结构,我建议您在后端使用 Django cookie cutter (https://cookiecutter-django.readthedocs.io/en/latest/index.html),在前端使用 React 样板文件 (https://www.reactboilerplate.com/)。
关于Django React 项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61153118/