템플릿(Template)이란?사용자의 요청에 대해 뷰함수에서 응답하는 HTML 파일을 장고에서는 템플릿이라고 부른다. 템플릿 환경 설정- 앱 디렉토리 로더'app_directories.Loader'는 Django의 각 애플리케이션 디렉토리 내의 'templates' 서브 디렉토리에서 템플릿을 찾는다. 이 로더는 각 앱이 자체 템플릿 파일을 가질 수 있도록 함으로써, 코드와 템플릿 파일을 조직적으로 관리하는 데 유용하다.작동 방식앱 디렉토리 탐색: Django는 INSTALLED_APPS 설정에 나열된 각 애플리케이션 디렉토리를 탐색한다. 템플릿 서브 디렉토리: 각 애플리케이션 디렉토리 내의 templates라는 이름의 서브 디렉토리를 찾는다.템플릿 파일 로드: 특정 템플릿을 요청할 때, Django는 ..
web
ORM이란?ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑 해 주는 것을 말한다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데잍터베이스는 테이블을 사용하기에 객체 모델과 관계형 모델 간에 불일치가 존재한다. 이때 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결 해 주는 것이다.Django는 파이썬 기반으로, 객체 지향 프로그래밍이기 때문에 클래스를 사용한다. 장고 Model장고는 모델(Model)을 이용해 데이터베이스를 처리한다. 보통 데이터베이스에 데이터를 저장하고 조회하기 위해서 SQL 쿼리문을 이용해야 하지만, 장고의 모델을 사용하면 SQL 쿼리문 없이 데이터를 쉽게 처리할 수 있다. DB 환..
1. 일대다(1:M) 관계 이름post = Post.objects.get(id=10) # Post id=10 인스턴스 추출post.comment_set # post와 관계된 모든 Comment 인스턴스 접근post.comment_set.all() # post와 관계된 모든 Comment 인스턴스 추출2. 일대일(1:1) 관계 이름user = User.objects.get(id=1) # user id가 1인 사람의 인스턴스를 추출user.profile # user id가 1인 사람의 프로필에 접근3. 다대다(N:M) 관계 이름post_ins = Post.objects.get(id=14) # id가 14인 인스턴스 추출post_ins.tag.all() # id가 14인 post의 모..
1. 일대다(1:M)# cmdpython manage.py makemigrations blogpython manage.py migrate blog DB Browser for SQLite에서 db.sqlite3 열기 2. 일대일(1:1)# cmdpython manage.py makemigrations blogpython manage.py migrate blog 3. 다대다(N:M)
6. admin 앱에서 데이터 조작1) admin 앱 등록# cmd python manage.py migrate 2) admin 앱 사용 계정 만들기# cmdc:\Django\mysite>python manage.py createsuperuser Username (leave blank to use 'purum'): admin Email address: admin@mysite.com Password: admin123 Password (again): admin123 The password is too similar to the username. This password is too common. Bypass password validation and create user anyway? [y/N]: y Sup..
모델 생성 1. 모델 클래스 작성- 앱/models.py에 정의 2. migration 파일 생성# cmdpython manage.py makemigrations 앱이름 3. migrate 작업# cmdpython manage.py migrate 앱이름 4. MySQL 설정pip install mysqlclient 5. 장고쉘에서 데이터 추가, 조회, 수정, 삭제 (CRUD)장고쉘# cmdpython manage.py shell>>> from 앱이름.models import 모델명 > Create - 데이터 추가- 방법1: Model의 save()>>> post = 모델명(title='제목', body='내용')>>> post.save() - 방법2: Manager의 create()>>> 모델명.obje..
장고 프로젝트란?장고에서는 웹 사이트 또는 웹 애플리케이션을 "프로젝트{project)"라고 부른다. 즉, 장고 프로젝트는 웹 사이트를 의미한다. 웹 사이트에는 사용자의 서비스를 처리하는 여러 기능들을 제공하는데, 장고에서는 이러한 기능들을 "앱(app)"이라고 한다. 장고 프로젝트 생성# cmddjango-admin startproject 프로젝트이름 위와 같이 실행하면 다음과 같은 디렉토리 구조로 파일들이 생성된다. C:\Django\mysite│ ├── manage.py │ └── mysite ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py manage.py장고 프로젝트 생..
웹 애플리케이션 구조 웹 애플리케이션 구조는 위와 같이 Front-End, Back-End로 나눌 수 있다. 프론트엔드(Front-End)는 사용자가 웹 사이트나 웹 애플리케이션과 상호작용하는 부분으로, 사용자가 브라우저에서 볼 수 있는 디자인, 레이아웃, 그래픽 등과 사용자 인터페이스(UI)를 개발하는 영역이다. 백엔드(Back-End)는 웹 사이트나 웹 애플리케이션의 서버 측 부분으로, 프론트엔드와 상호작용하며, 데이터베이스와 통신하여 필요한 데이터를 가져와 처리한다. Full-Stack은 애플리케이션의 프론트엔드와 백엔드를 모두 개발하는 것을 말한다. Django란?Django는 파이썬을 사용하는 Full-Stack 프레임워크이다. 장고의 특징은 다음과 같다. 간결하고 쉬운 파이썬 언어를 사용하..