Django
-
Django Cycle, Docker, App StructureDjango/인프런 2024. 4. 3. 16:10
Django Cycle Docker 개발, 운영환경 유지 - OS, Python version, Python Lib dependency 각 프로젝트의 환경을 컨테이너화 사용방법 Dockerfile 작성 Docker Compose 작성 여러개의 컨테이너를 관리 포트 매핑 (로컬과 도커의 포트를 연결) docker compose build : 도커 빌드 docekr compose up : 만들어 둔 이미지를 찾아서 도커 실행 Docker Compose 실행 > 도커 실행 여부 (up 이후) docker ps > 이미지 목록 확인 docker image ls > 도커 실행 (in vscode) docker compose up Django App Structure mysite/ manage.py mysite/ ..
-
EmailField & CharField DifferenceDjango/OZ 2024. 3. 18. 20:02
EmailField vs CharField 일단 EmailField는 CharField를 상속하기 때문에 적절한 곳에 사용시 손실되는 것이 없기 때문에 validate_email로 기본 검증을 한다. 올바른 형식으로 example@example.com 이메일을 작성하는지 확인할 수 있다. 그렇지 않을 경우 오류메세지를 반환하는데 이 때 정보의 손실이 발생할 수도 있다. 사전에 정의된 변수(description)도 사용할 수 있다. 백엔드에서는 이미 최대 길이를 75자로 제한한다. (물론 설정값을 변경할 수도 있다.) EmailField에서는 유효성 검사 기능(validate_email)을 제공하기 때문에 이메일 형식의 입력만 허용되며 입력된 값이 유효한 이메일 주소인지 자동으로 확인하고, 잘못된 형식의 ..
-
Django 3일차 - Rest frameworkDjango/OZ 2024. 3. 9. 22:51
API (Application Programming Interface) 프로그램간의 상호작용(데이터 교환) 애플리케이션 간에 데이터를 교환하거나 서비스를 공유하기 위한 인터페이스 즉, 프로그래머가 다른 소프트웨어나 서비스를 활용하기 위해 사용하는 메서드와 프로토콜의 집합을 의미 REST API 자원에 대한 URL(Uniform Resource Locator)을 사용하여 자원을 나타내며 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 해당 자원에 대한 작업을 수행 RESTful API REST 아키텍처를 따르는 API URL주소와 메서드만 보고 API의 역할을 알 수 있다는 것이 가장 큰 특징 REST의 원칙을 준수함으로써 일관성 있고 표준화된 인터페이스를 제공하여 사용자가 이해하..
-
ORMDjango/OZ 2024. 3. 8. 18:52
객체 관계 매핑 (Object–relational mapping)(oz-django-py3.12) (base) hotbari@yeonsuui-MacBookPro oz-Django % python manage.py shellPython 3.12.2 (main, Feb 6 2024, 20:19:44) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwinType "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>> from boards.models import Boardid가 1인 객체 불러오기>>> board = Board.objects.get(id=1)>>> board.u..
-
Django 2일차 - Admin PanelDjango/OZ 2024. 3. 7. 16:04
User Admin Panel Board Admin Panel models.py 작업이 끝나면 반드시 해야할 작업! python manage.py makemigrations python manage.py migrate 기존에 등록된 데이터에는 writer가 없기 때문에 충돌이 발생할 수 있다. ChatGPT 이 메시지는 'writer'라는 널(Null) 가능한 필드를 비-널(Non-nullable) 필드로 변경하는 문제에 관한 내용을 알려주고 있습니다. 이 변경을 수행할 때, 'writer' 필드에 대해 널 값을 가지고 있는 기존 행들을 처리해야 합니다. 그러나 데이터베이스는 이러한 기존 행들을 채우기 위해 값을 필요로 하며, 'writer' 필드를 널이 아닌 것으로 만들고 있기 때문에 이 값을 제공해야..
-
Django 2일차Django/OZ 2024. 3. 7. 14:43
boards 라는 앱을 생성 python manage.py startapp boards models.py에 모델 코드를 작성한다 config/settings.py에서 장고가 작성한 모델을 인식할 수 있도록 코드를 추가한다 왜 이걸 추가하지?? BoardConfig 장고한테 Boards란 app을 알려줄 때 사용하는게 저건가? models는 데이터에 대한거고 app은 apps.py에 명시되어있고 내가 만든 boards app을 장고에게 알려주려면 apps.py에 명시된 클래스(BoardsConfig)를 사용해야한다 그래서 setting.py에 boards.apps.BoardsConfig를 적어준 것 실제로 테스트해보기 위해 admin도 등록한다. models.py에 만든 Board 모델을 admin.py에..
-
URL, VIEW 개념Django/OZ 2024. 3. 6. 15:54
URL DIspatcher 웹 프레임워크에서 URL을 해당하는 View로 라우팅하는 메커니즘 대부분의 웹 애플리케이션은 다양한 URL 경로에 대해 다른 뷰 함수를 호출한다. 예를 들어, 사용자가 "/home"으로 들어오면 홈페이지를 표시하고, "/products"로 들어오면 제품 목록을 표시한다. 웹 프레임워크는 일반적으로 URL 디스패처를 사용하여 이러한 요청을 적절한 뷰 함수로 연결한다. 이는 일반적으로 URL 패턴 및 URL 매핑에 의해 구성됩니다. 예를 들어 Django에서는 URL 디스패처를 설정하기 위해 urls.py 파일을 사용한다. 이 파일에서는 URL 패턴과 뷰 함수의 매핑을 정의한다. 각 URL 패턴은 정규 표현식을 사용하여 지정되며, 해당하는 URL에 도달할 때 호출될 뷰 함수를 지정..
-
Django 1일차Django/OZ 2024. 3. 6. 11:47
Python Poetry파이썬의 패키지 관리를 용이하게 도와주는 툴가상환경을 만들기 위한 툴poetry add == pip install (사용)poetry buildpoetry publish brew를 설치하면 편리하게 라이브러리 설치 가능## (1) brew 설치 (brew 설치가 안되어 있는 경우)## brew 공식사이트: https://brew.sh/index_ko > /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"## brew --version 으로 설치 확인 후 진행했다## (2) poetry 설치> brew install poetry> poetry --version 가..