Django React 项目结构

标签 django reactjs git structure

我有一个以 Django 作为后端的项目。

对于客户端,我有 4 个不同的部分:

  • super 用户的 Django 管理面板,由 Django 本身呈现。
  • 由 Django-Jinja 模板系统呈现的用户 LoginSignup 部分。
  • 应用管理面板,它是一个 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/

相关文章:

python - 透明地将 Django 模型字段存储为 JSON 数据

Git:如何删除代理

iOS 核心数据 : "Data Model Version Compiler" error

linux - 如何一起使用 git log 和 grep?

python - Django shell_plus : How to access Jupyter notebook in Docker Container

javascript - 如何将我的 JavaScript 文件包含到 HTML 页面中?

当表单类只有一个字段时,Django Formset is_valid 返回 "True",尽管该字段为空

ios - 从运行时卸载/释放/移除 React Native View

reactjs - 在 Reactjs 中迭代数组

javascript - 当字段中有对象时,网格空表