使用Django连接多个createreactapps

2024-09-30 16:28:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大型Django项目,由几个小应用程序组成,彼此独立,但部分共享相同的数据库或/和模型

所有应用程序都是用python manage.py startapp myappa创建的,因此它们有自己的urls.pyviews.py

我开始使用create-react-app作为其中两个应用程序的前端,并通过将react项目的index.html转换为模板并通过views.py(更多here)提供服务,成功地将它们连接起来

现在,这些create-react-app项目中的每一个都有自己的build文件夹,该文件夹的路径我包含在settings.py中的STATICFILES_DIRS中,用于收集静态文件

看起来是这样的:

static/
templates/
myappa/
    build/
          static/
          index.html
          ... 
myappb/
    build/
          static/
          index.html
          ... 

现在,我想知道是否有一种方法可以只拥有一个构建文件夹,其中包含各自项目的所有构建文件,例如:

myappa/
myappb/
static/
templates/
build/
     myappa/
             static/
             index.html
             ... 
     myappb/
             static/
             index.html
             ...  

我想象这个文件夹将与静态文件夹以及appa和appb文件夹位于同一级别

一种方法是,由于默认情况下,我不能将生成文件夹置于项目文件夹结构(?)之外,并且我不想弹出项目,因此我手动将所有生成文件夹向上移动两个级别,以便在生成过程之后,它与应用程序文件夹处于同一级别。这样,我只需要将一条路径包含到STATICFILES_DIRS中。但我想知道是否有一种自动的方式来做这件事

我一直在研究django的其他项目,并做出了反应,但不幸的是,大多数项目都很小,所以它们不涉及这个案例

我想知道是否有人有同样的想法,或者我可以看看github上的一些不错的大项目?还是我错了,默认情况下,在单独的应用程序中有自己的create-react应用程序是有意义的


Tags: 项目pybuild文件夹app应用程序indexhtml