장고 5

[django/drf]Djang Rest Framwork 공식문서 튜토리얼3 (Class-based Views)

함수 기반 views 대신에, 클래스 기반 views로 만들 수 있다. 클래스 기반은 공통 기능을 다시 사용할 수 있는 강력한 패턴이다. 그리고 우리의 코드를 다시 사용하지 않게 도와준다. ✅ 현재 함수 Views => 클래스 Views 바꾸기 #snippets/views.py from snippets.models import Snippet from snippets.serializers import SnippetSerializer from django.http import Http404 from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status # 클..

Django 2022.07.12

[django] ORM Query Set 구조와 원리 그리고 최적화 전략

아래의 강의를 듣다가 요약정리 해봤다. https://www.youtube.com/watch?v=EZgLfDrUlrk 1. QuerySet을 통해 알아보는 ORM 특징 - Lazy Loading 지연로딩 : 정말 필요한 시점에 SQL을 호출한다. #예시 views.py #User를 선언하는 시점에는 퀴리셋에 지나지 않고 실제로 SQL호출을 하지 않는다. query_set = User.objects.all() #list()로 쿼리셋을 호출하였을때 실제 SQL이 실행된다. user_list = list(query_set) - 지연 로딩의 단점 불필요하게 SQL이 두번 호출된다. query = User.objects.all() User = query[0]#한명의 데이터를 가져오기 위해서 실행될 SQL문에 li..

Django 2022.04.27

[django] session 사용법

django의 session django는 session기능을 지원한다. 서버에서 데이터를 저장하고 쿠키의 송수신을 한다. 자세히 설명하자면 데이터는 서버에 저장해 놓고 세션 아이디를 쿠키에 저장한다. 완벽하다고는하는데,,나한테는 완벽하게 적용되지 않는다,ㅜ 해결하려고 정리하는 글을 작성해 본다. session 활성화 django의 session은 미들웨어를 통해 구현된다. 그래서 활성화 하기 위해서는 settings.py에 MIDDLEWARE에 아래의 문구가 있어야한다. 기본적으로 존재하는 문구이다. #settings.py MIDDLEWARE = [ #..생략 'django.middleware.common.CommonMiddleware', #.. ] 데이터베이스 지원 세션 데이터베이스 지원 세션을 사용..

Django 2022.04.25

[django]1대 다 join prefetch_related사용법(ORM방식)

다른 블로그들 잘 정리해 놓은 블로그들이 많았다. 하지만 prefetch_related('') 괄호안에 외래키값를 넣어도 안되고 join할 모델명을 넣어도 join되지 않았다. 이것 저것 조사해본 결과 알게 된것을 나같은 장고 초보자 들도 알 수있게 써보려고 한다. 일단 join할 모델에 대한 설명 class Medicine(models.Model) : med_uid = models.AutoField(primary_key=True) user_uid = models.ForeignKey(USER.User,on_delete=models.SET_NULL,db_column='user_uid',null=True) med_name = models.CharField(max_length=20) med_type = mod..

Django 2022.04.20

[에러]RuntimeError: Model class example.models.Question doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

유튜브 명준MJ 님의 django 강의를 듣고 다시 복습하기 위해 example 폴더를 만들어 다시 똑같이 만들어 보고있었다. 그러다가 아예 서버가 안돌아가는 상황 발생,,, 제일 아래에 이런 문구가 떠서 구글링 해본결과 RuntimeError: Model class example.models.Question doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. 얻을 수 있는건 없었다. Apps이 설치가 안되어있어서 mysite폴더 settings.py에 apps을 추가할대는 setting에 들어가서 작성해주어야 했는데 하지 않아 서버가 돌아가지 않았다. 기초적인거 겠지만,,,저같은 사람들을 위해 작성하였습..

Django 2022.04.04
반응형