클래스 관리자 Django + React
10387 단어 djangopythonreactjavascript
다음은 React(JavaScript)로 만든 Class Manager(기본적으로 학교 시스템, 교사가 시험과 학생 성적을 게시하고 학생이 시험을 제출하고 다른 급우와 채팅하고 화상 통화를 할 수 있는 앱)입니다. 프론트엔드와 백엔드를 위한 Django(Python).
면책 조항, 이것은 초보자용 튜토리얼이 아닙니다. 대부분의 내용은 설명하지 않습니다. 첫 번째로 시간이 많이 걸리기 때문입니다. 두 번째로 대부분의 기본 사항을 알고 있다고 생각합니다. 설명할 내용은 고급 부분뿐입니다.
둘째, 이것은 꽤 큰 프로젝트이기 때문에 여러 부분으로 분리됩니다 : ) 이것은
“Getting Started”
부분입니다 : )이 자습서에서는
node.js, yarn, Python 3.10.5( and Django)
를 사용할 것이므로 다운로드했는지 확인하십시오. 모든 항목을 다운로드한 후 모든 항목을 저장할 폴더를 엽니다. 저에게는 Class Manager/
모든 것이 이 폴더 내에서 발생합니다.장고부터 시작해 봅시다.
cmd
에서 Class Manager/
를 열고 다음 명령을 실행합니다.Class Manager> django-admin startproject backend
Class Manager> cd backend
Class Manager\backend> python manage.py startapp Auth
Class Manager\backend> python manage.py startapp Class
Class Manager\backend> pip install djangorestframework channels channels-redis django-cors-headers
이제 React를 설정해 보겠습니다. 다음 명령을 실행합니다.
여기까지 왔으니
frontend/src
에서 수정해야 할 몇 가지 사항이 있습니다. 다음을 수행하십시오.Delete: App.css
Delete: App.test.js
Delete: logo.svg
Delete: setupTests.js
Add a /components folder inside /src
Add a /redux folder inside /src
따라서 폴더 구조는 다음과 같아야 합니다.
/Class Manager
|
|-- /backend
|
|--- /Auth
|--- /backend
|--- /Class
|-- /frontend
|
|--- /node_modules
|--- /public
|--- /src
|
|--- componets
|--- redux
|
|--- package.json
|--- package-lock.json
이제부터는
2 cmd’s
open(보다 효율적이려면)을 갖는 것이 중요합니다. 하나는 Class Manager/backend
에 대한 것이고 다른 하나는 Class Manager/frontend
에 대한 것입니다.이제 앱을 설정하고 종료하겠습니다!
backend/settings.py
업데이트INSTALLED_APPS
:INSTALLED_APPS = [
# ...
'rest_framework',
'rest_framework.authtoken',
'django_filters',
'corsheaders',
'channels',
'Auth',
'Class',
]
그리고 다음을 추가하십시오
INSTALLED_APPS
.REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication', # We will be using auth token for authentication : )
],
'DEFAULT_PARSER_CLASSES': [
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.MultiPartParser', # We will need to parse images later : )
],
'DEFAULT_FILTER_BACKENDS': [
'django_filters.rest_framework.DjangoFilterBackend' # We will manage filtering with FilterBackend : )
],
}
그리고 다음과 같이 업데이트
MIDDLEWARE
합니다.MIDDLEWARE = [
# ...
'corsheaders.middleware.CorsMiddleware', # Initialize CORS
'csp.middleware.CSPMiddleware'
]
마지막으로
settings.py
의 맨 아래에 다음을 추가합니다.# Setting up media files( images, .txt, etc.)
STATIC_URL = 'static/'
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
ASGI_APPLICATION = "backend.routing.application"
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels.layers.InMemoryChannelLayer"
}
}
CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SECURE = True
SECURE_HSTS_SECONDS = 0
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
SECURE_HSTS_PRELOAD = True
CSP_DEFAULT_SRC = ("'self'",)
CSP_STYLE_SRC = ("'self'",)
CSP_SCRIPT_SRC = ("'self'",)
CSP_IMG_SRC = ("'self'",)
CSP_FONT_SRC = ("'self'",)
CORS_ORIGIN_WHITELIST = [
'http://localhost:3000',
]
이제
backend/urls.py
로 이동하여 업데이트합니다.from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path("", include("Auth.urls")),
path("", include("Class.urls"))
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
우리는
python code
로 끝났습니다(이 자습서의 경우). 이제 frontend/src/App.js
로 이동합니다.export default function App() {
return (
<div className="App">
<h1>Hello World!</h1>
</div>
);
}
지금은 여기까지입니다: ). 나는 우리가 어떤 코드도 실행할 필요가 없다는 것을 알고 있지만, 그것은 단지 설정하는 것이었기 때문에 이 튜토리얼에만 해당됩니다! 다음 튜토리얼을 기대해주세요 :)
Reference
이 문제에 관하여(클래스 관리자 Django + React), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codingnetworks/class-manager-django-react-cf6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)