我有一个Django项目,它将使用React作为前端。项目结构如下:
ProjectName/
├── api/
│ └── otherapp1/
│ └── otherapp2/
│ └── api/
│ └── views.py (will contain the method for loading react page)
│ └── settings.py
│ └── manage.py
└── frontend/
└── public/
└── index.html (react root page)
如何使用Django加载index.html页面,以便我可以使用django进行身份验证和cookie /会话管理?我无法弄清楚如何正确配置模板/模板目录,因为它位于项目的django部分的根文件夹之外。
我使用的样板是here
可能需要注意的是,由于它是一个docker项目,因此有3个容器。一个用于数据库,一个用于django,一个用于前端。我的django项目中的BASE_DIR
解析为/app/api
。可能是我需要访问另一个容器中的目录,但如果我不能这样做,那么我应该如何将Django链接到我的React应用程序?
答案 0 :(得分:4)
在设置(api/api/settings.py
)中更新TEMPLATE配置:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, '../frontend/public')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
现在Django会在frontend/public
目录