Linuxpia/웹 프로그램 30

리눅스에 visual studio code 설치 명령어 상세 해설

visual studio code 설치 명령어 상세 해설sudo apt updatesudo apt install wget gpgwget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpgsudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/1. sudo apt update역할:리눅스 패키지 목록을 최신 상태로 갱신합니다.설명:시스템이 알고 있는 소프트웨어 목록(버전, 설치 가능 여부)을 인터넷 저장소(Repository)에서 다시 받아옵니다.새로운 프로그램 설치나 업데이트를 하기 전에는 항상 a..

리눅스 환경에서 VS Code로 Django 프로젝트 개발하기

리눅스 환경에서 VS Code로 Django 프로젝트 개발하기1. Visual Studio Code 설치리눅스에서는 터미널 명령어로 설치할 수 있습니다.(1) Microsoft 저장소 추가sudo apt updatesudo apt install wget gpgwget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpgsudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/(2) VS Code 저장소 등록sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/..

MTV 패턴과 MVC 패턴의 차이점

MTV 패턴과 MVC 패턴의 차이점웹 개발에서 많이 언급되는 아키텍처 패턴이 바로 MVC와 MTV입니다.Django는 MTV 패턴을 따르지만, 기본 개념은 전통적인 MVC 패턴과 크게 다르지 않습니다.단, 역할을 바라보는 관점과 용어에 차이가 있을 뿐입니다.아래에서 자세히 비교해 보겠습니다.1. MVC 패턴이란?MVC는Model (모델): 데이터와 비즈니스 로직을 관리합니다.View (뷰): 사용자에게 보이는 화면을 담당합니다.Controller (컨트롤러): 사용자 입력을 받아 모델과 뷰를 연결하고 조정합니다.흐름 요약:사용자 입력 → Controller → Model 조작 → View에 데이터 전달 → 화면 표시2. MTV 패턴이란?MTV는 Django 특유의 용어를 씁니다.Model (모델): 데이..

[Django 연습] Poem App 설치

[Django 연습] Poem App 설치Poem App 설치django-admin 명령으로 다음과 같이 설치합니다. 'django-admin startapp poem' 명령은 'poem' 디렉터리와 해당 파일들을 만들어 줍니다. 해당 파일들은View 생성새로 만든 앱 'poem'에 퓨를 생성합니다. 생성된 뷰는 아래와 같이 장고 HttpResponse 클래스를 임포트하여 사용합니다. index 모듈은 간단하게 poem 디렉터리에 진입한 것을 알리는 것으로 하겠습니다.URL 분리url 분리는 메인 urls.py에서 20번째 줄의 'from poem import views'와 26번째 줄의 'path('poem/', include('poem.urls'))를 추가합니다.세팅 수정메인에서 세팅을 수정합니다. ..

GitHub에서 clone한 Django 프로젝트 실행을 위한 기본 세팅

✅ GitHub에서 clone한 Django 프로젝트 실행을 위한 기본 세팅 가이드📌 1. 가상환경 생성 및 활성화python3 -m venv ~/venvs/classsource ~/venvs/class/bin/activate📌 2. 패키지 설치pip install -r requirements.txt✅ 📄 requirements.txt 파일 예시 (명령어가 아닌 패키지 이름만)djangopython-decoupleopenai필요시필요시 pip freeze > requirements.txt로 자동 생성 가능✅ 📄 .env 파일 예시.env 파일은 manage.py와 같은 경로에 둡니다.DJANGO_SECRET_KEY=django-insecure-임의의복잡한문자열DEBUG=True✅ 3. 마이그레이션..

Django 앱 구조로 알아보는 MTV 패턴

Django 앱 구조로 알아보는 MTV 패턴Django는 MTV 패턴을 따르는 웹 프레임워크입니다.MTV는 Model-Template-View의 약자로, 각각의 역할을 명확하게 구분하여 웹 애플리케이션을 개발할 수 있도록 도와줍니다.Django의 프로젝트와 앱 구조를 통해 MTV 패턴을 하나씩 알아보겠습니다.1. Model (모델)데이터를 관리하는 부분입니다.Model은 데이터베이스 테이블과 1:1로 연결됩니다.예를 들어, 게시판 글, 사용자 정보, 상품 목록 같은 데이터를 정의합니다.보통 models.py 파일 안에 작성합니다.예시from django.db import modelsclass Question(models.Model): subject = models.CharField(max_lengt..

[Django] 웹 프레임워크 URL 분리

[Django] 웹 프레임워크 URL 분리새로운 앱 pybo 등록장고 웹프레임워크에 새로운 앱을 등록합니다. 등록된 앱은 몇 가지 절차를 밟아 사용자의 브라우저에 나타나게 설정합니다. 새 앱을 등록하는 방법은 'django-admin startapp 새로운앱이름'입니다. 등록 후 해당 URL을 브라우저에서 확인등록 후에 해당 URL을 브라우저에서 확인하면 다음과 같은 메시지가 뜹니다. 'Page not found(404)'는 HTTP 오류 코드 중에 하나로 사용자가 요청한 페이지를 찾을 수 없다는 것입니다. 장고는 오류 발생 시에 오류 원인을 웹 브라우저 또는 명령 프롬프트에 보여줍니다. 이 문제를 해결하기 위해서 다음과 같은 과정을 밟습니다.메인 URLS.PY에 새 앱 URL 등록메인 'urls.py'..

리눅스 가상환경에서 Django와 OpenAI를 강제로 설치하는 방법

도서관에서 작업했던 프로젝트를 집에서 이식하려는데 계속 에러가 발생합니다. 문제는 리눅스 패키지와 파이썬 사이에 갈등이 있었습니다. 가상 시스템의 경우에는 강제로 django와 openai 모듈 설치가 가능했습니다. 그 과정과 이유를 설명합니다.리눅스 가상환경에서 Django와 OpenAI를 강제로 설치하는 방법리눅스 신버전(예: Linux Mint 21, Ubuntu 22.04 이상)에서는pip를 이용해 Python 패키지를 설치할 때 다음과 같은 오류를 만날 수 있습니다.error: externally-managed-environment이는 리눅스 시스템이"사용자가 시스템 전체를 망치지 않도록"Python 패키지 설치를 엄격히 관리하기 때문입니다.특히 가상환경(venv) 안에서도 pip만으로는 설치가..

[Django 프로젝트] 시 감상과 감상문 남기기

[Django 프로젝트] 시 감상과 감상문 남기기나주 박선생이 부탁한 체험학습 프로그램을 짜다가 그동안 과제로 삼았던 '시 감상' 프로젝트를 덤으로 시작했습니다. 장고 웹프레임워크를 이용하여 리눅스 시스템에서 vi에디터와 visualstudio code를 사용하여 작업을 진행했습니다. 감상문 작성에서 문제가 되는 부문은 ChatGPT와 협업을 통해 해결했습니다. 다음은 오늘 프로젝트 후에 정리한 내용입니다.1. Django 기본 개발 흐름✅ models.py: 데이터 구조(시, 감상문)를 정의합니다.✅ views.py: 사용자의 요청을 받아서 처리합니다.✅ urls.py: 사용자가 접속하는 경로(URL)를 views 함수와 연결합니다.✅ templates: 화면에 보여지는 HTML 파일을 만듭니다.→ D..

Django에서 MTV란?

MTV 아키텍처란? (Django에서의 구조 이해)MTV는 Django 웹 프레임워크에서 사용하는 아키텍처 패턴입니다. 이 구조는 전통적인 MVC(Model-View-Controller) 패턴과 유사하지만, Django에서의 용어에 맞추어 Model - Template - View로 구성됩니다.1. MTV의 구성 요소 구성요소 설명 역할 Model (모델)데이터 구조와 데이터베이스 작업 담당DB 테이블과 연결되어 데이터 저장, 조회, 수정, 삭제를 처리Template (템플릿)사용자에게 보여줄 HTML 화면HTML, CSS, JavaScript 등을 포함한 웹 페이지 출력 형식View (뷰)사용자의 요청을 처리하고 응답 생성요청을 받고, 필요한 데이터 처리 후, 템플릿에 전달하여 응답 생성2. ..