Django React 项目结构

Sey*_*ini 5 git django structure reactjs

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

\n\n

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

\n\n
    \n
  • 超级用户的 Django 管理面板由 Django 本身呈现。
  • \n
  • 用户登录注册部分由 Django-Jinja 模板系统呈现。
  • \n
  • 应用程序管理面板是一个反应应用程序
  • \n
  • 主应用程序前端是一个反应应用程序
  • \n
\n\n

我脑子里的结构是这样的:

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 djangoproject\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.py (can be folder)\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 urls.py\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wsgi.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 apps\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 admin_panel\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 core\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 auth\n|   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ...\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 templates\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 admin_panel (react)\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 core (react)\n|   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 auth\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 static\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 manage.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有两个问题:

\n\n

1-我应该更改项目的结构(例如将反应文件夹带到外面或使用前端文件夹命名而不是模板?)

\n\n

2-将git 子模块用于 React 应用程序并仅在主项目中提交它们的构建是否常见(或合理) ?如果是的话,您能举出任何例子或最佳实践吗?

\n

小智 4

对于项目结构的最佳实践,我认为您应该在后端存储库(文件夹)之外为前端(react)创建一个不同的存储库(文件夹)。

\n

后端结构

\n

我遵循这个项目结构:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80djangoproject\n|\n|__config\n|  |\n|  |__settings\n|  |  | \n|  |  |__base.py\n|  |  |__local.py\n|  |\n|  |__urls.py\n|  |__wsgi.py\n|  |__ __init__.py\n|\n|__djangoproject\n|  |\n|  |__users (user app dirctory)\n|  |__products (product app dirctory)\n|  |__ __init__.py\n|\n|\n|__static\n|  |\n|  |__css\n|  |__js\n|\n|__media\n|\n|__manage.py\n|__gitignore\n
Run Code Online (Sandbox Code Playgroud)\n

前端结构

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80djangoproject(React)\n|\n|__app\n|  |\n|  |__assests\n|  |  | \n|  |  |__fonts\n|  |  |__images\n|  |\n|  |__components\n|  |  |__your components\n|  |__containers\n|  |  |__Your containers\n|  |__app.js\n|\n|\n|__README.md\n|\n|__package.json\n|__gitignore\n
Run Code Online (Sandbox Code Playgroud)\n

为了更好地理解项目结构,我建议您遵循 Django cookie cut ( https://cookiecutter-django.readthedocs.io/en/latest/index.html ) 作为后端并使用 React 样板 ( https://www .reactboilerplate.com/)用于前端。

\n