회사에서 ExtJs라는 상용 JS 라이브러리를 사용할 일이 생겨 급하게 예시를 만들어 공부하는 와중에 정리하게 되었음
개발은 Window 환경, backend는 Python Django를 사용하고 frontend는 ExtJs를 사용
ExtJs 공식 Document 참조
(https://docs.sencha.com/extjs/6.6.0/modern/Ext.html)
Django 5.1.4, ExtJs 6.6.0, djangorestframework 3.15.2, 기본 SQLite 사용
cd '프로젝트 경로'
python -m venv venv
.\venv\Scripts\activate
pip install django
pip install djangorestframework
django-admin startproject backend .
python manage.py startapp todolist
# settings.py에 앱 추가:
INSTALLED_APPS = [
'todolist',
]
# todolist\models.py
from django.db import models
class Task(models.Model):
title = models.CharField(max_length=200)
description = models.TextField(blank=True)
completed = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
# 마이그레이션 생성 및 적용:
python manage.py makemigrations todolist
python manage.py migrate
여기에서 약간의 문제가 생긴다 . 본인은 SenchaCmd-6.6.0.13-windows-64bit를 받아 cmd를 설치하였는데
이것만으로는 세팅이 되지 않는 다는 사실을 여러번의 착오끝에 알게 되었다.
ExtJS가 유료 라이브러리다 보니 정보가 제한적이다
본인은 ext-6.6.0를 따로 다운로드 받아
C:\Users\사용자이름\sencha-sdks\ext-6.6.0 으로 ext js를 따로 받아놓았다.
다른 사람들은 Sencha CMD로 Ext JS를 명령어로 설치해서 시작할 수 있다고 하는데 본인은 실패하여서 따로 받은 ext js로 경로를 설정 하였다.
# ExtJS 앱 생성:
sencha app generate extjs-todo C:\Users\사용자이름\Desktop\project\Django_Extjs_TodoListEx\frontend
# todolist\serializers.py
from rest_framework import serializers
from .models import Task
class TaskSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = '__all__'
todolist\views.py