📅  最后修改于: 2023-12-03 15:14:43.028000             🧑  作者: Mango
Django 和 React 是当今流行的 Web 开发框架,它们分别负责 后端 与 前端 的开发任务。在某些场景下,我们需要将 Django 和 React 集成在一起来共同完成 Web 开发任务。在这种情况下,我们需要一个集成模板来帮助我们快速创建项目。不过,目前官方并没有提供 Django + React 集成模板,因此我们需要自己手动集成。
django-admin startproject projectname
npx create-react-app frontend
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Project Name</title>
</head>
<body>
<div id="root"></div>
<script src="{% static 'frontend/build/static/js/main.js' %}"></script>
</body>
</html>
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR.joinpath('templates')],
'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',
],
},
},
]
STATICFILES_DIRS = [
BASE_DIR.joinpath('frontend', 'build', 'static'),
]
from django.shortcuts import render
def index(request):
return render(request, 'index.html')
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
{
"homepage": "/static/frontend/build/",
"build": {
"staticUrl": "/static/frontend/build/static/",
"publicUrl": "/static/frontend/build/"
}
}
{
"build:django": "react-scripts build && rm -rf ../backend/templates/frontend && mv build ../backend/templates/frontend",
"start:django": "npm run build:django && python manage.py runserver"
}
npm run start:django
至此,集成完成。在浏览器中输入 http://localhost:8000 就可以访问项目了。
尽管官方没有提供 Django + React 集成模板,但我们可以手动集成来完成相应的开发任务。本文介绍了集成所需的步骤及代码片段,希望对你有所帮助。