- Migrate
- delete
- N:1
- n:1의 한계 상황
- DB
- prefetch_related
- 1:n
- http
- improve query
- comment & user
- Article & User
- many to many relationships
- Read
- dumpdata
- 중개모델
- ManyToManyField
- update
- 댓글 create
- ORM
- 댓글 READ
- M:N
- 쟝고
- Django
- queryset api
- 역참조
- 게시글
- select_related
- migrations
- create
- 댓글 update
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
목록전체 글 (59)
데이터 분석 기술 블로그
Media Files 사용자가 웹에서 업로드하는 정적파일로 user-uploaded라고 합니다. 1. 이미지 업로드 ImageField() 이미 업로드에 사용하는 모델 필드로 이미지 객체가 직접 저장되는 것이 아닌 '이미지 파일의 경로'가 문자열로 DB에 저장됩니다. 1.1 settings.py에 MEDIA_ROOT, MEDIA_URL 설정 MEDIA_ROOT란 미디어 파일들이 위치하는 디렉토리의 절대 경로입니다. # settings.py MEDIA_ROOT = BASE_DIR / 'media' MEDIA_URL이란 MEDIA_ROOT에서 제공되는 미디어 파일에 대한 주소를 생성하는 것입니다. STATIC_URL과 동일한 역할을 한다고 생각하면 됩니다. # settings.py MEDIA_URL = 'm..
Static Files (정적 파일) 서버 측에서 변경되지 않고 고정적으로 제공되는 파일로 이미지, JS, CSS 파일 등이 있습니다. 1.1 웹 서버와 정적 파일 웹 서버의 기본 동작은 특정 위치 (URL)에 있는 자원을 요청(HTTP request) 받아서 응답 (HTTP response)을 처리하고 제공(serving)하는 것입니다. 즉, 자원에 접근 가능한 주소가 있다는 의미입니다. 웹 서버는 요청받은 URL로 서버에 존재하는 정적 자원을 제공합니다. 정적 파일을 제공하기 위한 경로(URL)가 있어야 합니다. 1.2 기본 경로에서 제공하기 Static files 기본경로는 app폴더/static/ 입니다. articles/static/articles/ 경로에 이미지 파일을 배치하면 아래와 같이 보..
1. HTTP request methods 1-1. HTTP HTTP란, 네트워크 상에서 데이터를 주고받기 위한 약속입니다. 1-2. HTTP request methods HTTP request methods는 데이터(리소스)에 어떤 요청(행동)을 원하는지 나타내는 것으로 GET & POST입니다. 1-3. 'GET' Method 'GET' Method는 특정 리소스를 조회하는 요청으로 GET으로 데이터를 전달하면 Query String 형식으로 보내집니다. 1-4. 'POST' Method 'POST' Method는 특정 리소스에 변경(생성, 수정, 삭제)을 요구하는 요청으로 POST로 데이터를 전달하면 HTTP Body에 담겨 보내집니다. NEW Title:
1. Delete 1.1 Delete 기능 구현 # articles/urls.py urlpatterns = [ ... path('/delete/', views.delete, name='delete') ] # articles/views.py def delete(request, pk): article = Article.objects.get(pk=pk) article.delete() return redirect('articles:index') Detail ... {% csrf_token %} [back] 2. Update Update 로직을 구현하기 위해 필요한 view 함수의 개수는 몇 개일까요? 사용자 입력 데이터를 받을 페이지를 렌더링 하는 edit과 사용자가 입력한 데이터를 받아 DB에 저장하는 upd..
1. Create Create 로직을 구현하기 위해 필요한 view 함수의 개수는 몇 개일까요? 사용자 입력 데이터를 받을 페이지를 렌더링 하는 new와 사용자가 입력한 데이터를 받아 DB에 저장하는 create, 이렇게 두 가지가 있습니다. 1-1 new 기능 구현 # articles/urls.py urlpatterns = [ ... path('new/', views.new, name='new') ] # articles/views.py def new(request): return render(request, 'articles/new.html') NEW Title:
1. Read 1-1 전체 게시글 조회 # articles/views.py from .models import Article def index(request): articles = Article.objects.all() context = { 'articles': articles, } return render(request, 'articles/index.html', context) Articles {% for article in articles %} 글 번호: {{ article.pk }} 글 제목: {{article.title }} 글 내용: {{article.content }} {% endfor %} 1-2. 단일 게시글 조회 # articles/urls.py urlpatterns = [ ... pat..
0. QuerySet API 실습 사전 준비 외부 라이브러리 설치 및 설정 pip install ipython pip install django-extensions # settings.py INSTALLED_APPS = [ 'articles', 'django_extensions', ..., ] pip freeze > requirements.txt 1. Create Django shell Django shell이란, Django 환경 안에서 실행되는 python shell로 입력하는 QuerySet API 구문이 Django 프로젝트에 영향을 미칩니다. python manage.py shell_plus # Django shell 실행 1-1 데이터 객체를 만드는(생성하는) 방법 1-2 데이터 객체를 만드는..
1. ORM(Object-Relational-Mapping) ORM이란 객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형의 시스템 간에 데이터를 변화하는 기술입니다. 2. QuerySet API QuerySet API란 ORM에서 데이터를 검색, 필터링, 정렬 및 그룹화하는 데 사용하는 도구로 API를 사용하여 SQL이 아닌 Python 코드로 데이터를 처리하는 것입니다. 즉, Python의 모델 클래스와 인스턴스를 활용해 DB에 데이터를 저장, 조회, 수정, 삭제하는 것을 뜻합니다. 2.1 Query 데이터베이스에 특정한 데이터를 보여 달라는 요청 "쿼리문을 작성한다."는 원하는 데이터를 얻기 위해 데이터베이스에 요청을 보낼 코드를 작성한다는 뜻입니다. 파이썬으로 작성한 코드가 ORM의 의해 S..