오랫동안 Django 프레임워크를 배우고 싶었지만 항상 더 시급한 프로젝트가 우선순위였습니다. 많은 개발자들처럼 저는 기계 학습에 있어서 Python을 사용합니다. 하지만 처음 웹 프로그래밍을 배웠을 때 PHP는 여전히 우위를 점하고 있었기 때문에 내 컴퓨터를 게시하기 위해 웹 애플리케이션을 만들기 위한 새롭고 복잡한 프레임워크를 선택해야 할 때가 되었습니다. 일을 배우면서 나는 여전히 PHP를 사용했습니다. 한동안 저는 Laravel이라는 프레임워크를 사용하여 웹사이트를 구축해 왔으며 이 PHP 프레임워크를 통해 웹 프로그래밍의 최신 모델-뷰-컨트롤러 패턴을 접하게 되었습니다. 상황을 더욱 복잡하게 만들기 위해 저는 최신 자바스크립트 프레임워크를 사용하여 프런트엔드를 구축하는 것을 좋아합니다. 저는 Vue.js에 가장 익숙하기 때문에 사람들이 React를 사용한다는 이야기를 더 흔히 듣게 되지만 이번 프로젝트에서는 Vue.js를 고수했습니다.
왜 복잡한 프레임워크를 사용하나요? Django, Laravel, React, Vue와 같은 프레임워크를 학습할 때 가장 어려운 점은 무엇인가요?
사람마다 답이 있지만 저는 MVC 프레임워크를 좋아하게 되었습니다. MVC 프레임워크는 앱 구성 방법에 대한 많은 지침을 제공하기 때문입니다. 매번 바퀴를 재발명할 필요가 없습니다. 처음에는 이러한 프레임워크가 제약적이고 이해하기 어려워 보일 수 있지만 일단 구조에 익숙해지면 새로운 기능을 추가하는 것이 더 쉽다는 것을 알게 되었습니다.
문제는 상황이 너무 단순해질 수 있다는 것입니다. Django와 같은 프레임워크는 익숙한 개념을 기반으로 할 수 있는 많은 약어나 가정에 의존하지만 Django에서는 특히 익숙하지 않은 이름과 구조를 가지고 있습니다. 내 애플리케이션에서 Django는 API와 모든 웹 라우팅을 처리합니다. 새 API 엔드포인트를 추가하려면 views.py의 파일에 함수를 추가한 다음 urls.py 파일로 이동하여 해당 함수를 가져오는 명령문과 해당 함수가 있는 URL을 정의하는 또 다른 명령문을 추가해야 합니다. API 엔드포인트를 사용할 수 있습니다. 그런 다음 자바스크립트를 사용하여 해당 엔드포인트를 쿼리하여 데이터를 얻고 사용자에게 표시하거나 조작하도록 프런트엔드 Vue 구성요소를 편집해야 합니다.
프로젝트가 설정되면 이와 같은 기능을 추가하는 것이 빠릅니다. 약 4줄의 코드만 추가하면 views.py 파일의 새 함수에 필요한 로직에 집중하여 HTTP 요청을 처리하고 필요한 데이터를 JSON 형식으로 반환할 수 있습니다. 어려운 부분은 해당 파일이 무엇인지, 이 파일들이 어떻게 함께 작동하여 전체 애플리케이션을 만드는지 배우는 것입니다.
Django와 같은 프레임워크를 배우는 가장 좋은 방법은 실제 예제를 찾고 데이터 흐름에 대한 느낌을 얻기 위해 작은 변경을 시도하는 것입니다. 개념이 더욱 명확해지고 이해되기 시작하면 문서를 참조하세요. AI 모델에게 코드 조각과 프레임워크의 다양한 표준 파일이 수행하는 작업을 설명하도록 요청하세요. 장기적으로 시간을 절약하고 애플리케이션을 쉽게 유지 관리하고 업데이트할 수 있는 방법으로 이러한 도구가 등장했다는 사실을 깨닫는 데는 오랜 시간이 걸리지 않습니다. Django 및 Vue 프레임워크는 표준 구조를 갖고 있으므로 나중에 다시 돌아오면 특정 방식으로 코딩한 이유를 더 쉽게 이해하고 작업에 다시 익숙해지는 것이 더 쉽다는 것을 알게 될 것입니다. 또한 다른 사람의 응용 프로그램을 선택하고 해당 응용 프로그램의 기본 구조를 잘 알고 있으므로 핵심 기능을 이해하는 것이 더 쉽습니다.
그럼 누군가가 시작하는 데 도움이 되는 Django의 기본 사항은 무엇인가요? 제가 가장 먼저 이해해야 할 점은 Django 프로젝트는 새 django 프로젝트를 생성하는 명령을 실행하여 생성되고, 이로 인해 빌드를 시작하는 데 사용할 수 있는 '기본 프로젝트'를 구성하는 기본 파일 및 폴더 세트가 생성된다는 것입니다. 프로젝트 폴더에는 전체 프로젝트에 적용되는 설정이 포함된 여러 Python 파일이 있습니다. 자주 방문하게 될 중요한 것은 모든 설정이 있는 settings.py와 urls.py입니다. "Django는 정적 파일을 저장할 위치를 어떻게 결정하나요?"와 같은 질문이 있을 때, 대답은 일반적으로 settings.py 어딘가에 있습니다. 애플리케이션에 새 URL을 추가하려면 urls.py 파일을 업데이트해야 합니다.
이러한 프로젝트 수준 파일과 함께 프로젝트의 각 앱에 대한 폴더를 만듭니다. 그런 다음 이러한 앱을 settings.py 파일에 등록(예: 이름 지정)해야 합니다. 내 프로젝트의 기본 앱 폴더를 문서라고 합니다. 해당 폴더 안에는 models.py 파일, serializer.py 파일, views.py 파일이 있습니다. 다른 것도 있지만 중요한 세 가지는 다음과 같습니다.
models.py 내에서 Document 개체와 해당 개체에 포함된 필드를 지정합니다. Django는 Document 개체에 저장하려는 정보를 저장하는 데 필요한 스키마를 사용하여 IRIS 데이터베이스에 Documents 테이블을 만드는 작업을 대신 수행합니다. 내 models.py 파일에는 내 문서가 모두 255자 이하의 문자열인 이름, 대량의 텍스트인 콘텐츠 필드, 그리고 벡터가 있는 데이터베이스 이름이 있음을 알려줍니다. (다른 텍스트 필드), 임베딩 유형(다른 텍스트 필드), 마지막으로 벡터 임베딩 차원(숫자)이 저장됩니다. 이러한 정의를 사용하여 Django는 필요한 열 유형으로 필요한 데이터베이스 테이블을 생성합니다. 객체를 데이터베이스에 저장하는 것은 Document.save()만큼 쉽습니다.
serializer.py 파일 내부에는 개체를 JSON으로 또는 그 반대로 변환하는 방법에 대한 정의가 간단히 나와 있습니다. 기본 사용 사례에는 이를 정의하는 표준 방법이 있으며 이 프로젝트에서 확인할 수 있습니다.
이제 views.py 파일인 Django에 대해 살펴보겠습니다. 여기서는 HTTP 요청을 수락하고 전체 HTTP 응답 또는 JSON API의 경우 JSON 응답과 같은 데이터를 반환하는 함수를 정의합니다. 즉, Django는 전체 웹페이지를 제공할 수 있고 앱의 프런트엔드 역할을 할 수도 있고, JSON 데이터만 제공할 수도 있고 완전히 다른 플랫폼에서 프런트엔드를 구축할 수도 있습니다.
처음에는 임의적으로 보이는 이러한 파일과 규칙을 모두 사용하는 것이 자질구레한 일처럼 느껴질 수 있지만, 그렇게 하면 애플리케이션이 이제 작동하기 시작하고 HTTP 요청을 처리하며 응답으로 올바른 데이터를 제공한다는 것을 알 수 있습니다. 새로운 기능과 기능을 계속해서 구축하는 것이 매우 재미있습니다. HTTP 요청을 처리하기 위해 하나의 객체, 웹 경로 및 함수를 정의한 후에는 애플리케이션에 기능을 추가하기 위해 두 번째 및 세 번째 객체를 얼마나 쉽게 정의할 수 있는지 깨닫게 됩니다.
여기 Github에서 @guillaume.Rongier7183이 만든 Iris Django 템플릿에서 프로젝트를 포크했습니다. https://github.com/grongierisc/iris-django-template
해당 템플릿에는 Django만 포함되어 있는데 Django 프레임워크를 학습하는 데 매우 도움이 되었습니다. 제가 추가한 주요 추가 사항 중 하나는 Tailwind CSS와 함께 Vue.js를 추가하여 최신 Javascript 프레임워크를 이 패키지와 통합하고 IRIS에서 단일 페이지 애플리케이션을 실행할 수 있음을 보여주는 것이었습니다. 단일 페이지 애플리케이션은 JSON 데이터를 가져오기 위해 xhr 요청을 보내고 페이지를 완전히 다시 로드하지 않고도 동적으로 페이지를 업데이트하는 javascript 애플리케이션입니다. 장점과 단점이 있지만 현대 웹 개발의 특징입니다.
사람들이 내 프로젝트를 IRIS의 RAG 및 Vector Stores의 예일 뿐만 아니라 Vue.js 및 Tailwind와 함께 Django를 사용하여 현대적이고 유연한 웹 애플리케이션을 쉽고 빠르게 만들기 위한 템플릿으로 보도록 권장합니다. 아이리스. 해당 저장소는 Github(https://github.com/mindfulcoder49/iris-django-template
)에 있습니다.이 프로젝트를 자신의 용도에 맞게 조정하려고 할 때 발생할 수 있는 문제에 대해 질문에 답변하거나 통찰력을 제공해 드리겠습니다.
위 내용은 Django 및 Vue.js를 사용하여 IRIS에서 웹 애플리케이션 만들기: Django 프레임워크 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!