본문 바로가기

728x90
반응형

Python

(96)
Django: Database data dump # json으로 데이터 백업, 복구 Django에서 DB를 옮길 때 편하게 사용할 수 있는 기능입니다. * dumpdata data를 json형태로 담아둡니다. 1) 전체 테이블 dump python manage.py dumpdata > data.json 2) 일부 테이블 or 그 중의 일부 모델만 python manage.py dumpdata app_label1 app_label2.ModelName > data.json 3) --format python manage.py dumpdata app_label --format xml > data.xml # default는 json * loaddata python manage.py loaddata data.json json, 또는 xml, 그리고 yaml 도 가능합니다. 단, yaml은 PyYA..
ORM queries: .aggregate() Count, Sum, Avg, Max, Min, Variance(분산), StdDev(표준편차) examples from django.db.models import Sum, Count, Avg, Min, Max, StdDev, Variance def shopw_view(request): total_fruits = Fruits.objects.aggregate(Count('id')) avg_fruits = Fruits.objects.aggregate(Avg('name')) min_max_prices = Fruits.objects.aggregate(Min('price'), Max('price')) price_stddev = Fruits.objects.aggregate(StdDev('price')) price_..
sum() in Python sum()안에 리스트 등을 담아서 하면 number 같은 경우 합계가 나오는데 sum 안에 리스트 컴프리헨션을 당연히 넣어도 되고 sum 안에 리스트 컴프리헨션을 넣는 방식대로 하는데 []를 빼고 담아도 됩니다. 리스트 컴프리헨션에서 리스트가 빠지니까 그냥 컴프리헨션이라 해야하나... ex) my_list = [('a', 1), ('b', 2), ('c', 3)] total = sum(tuple[1] for tuple in my_list) print(total) # Output: 6 total = sum(tuple[1] for tuple in my_list if tuple[1] % 2 == 0) print(total) # Output: 2 참고 sum()으로 string을 합칠순 없다. string은 j..
values_list(), values() method in Django Django의 QuerySet API 중에 values_list() 와 values()가 있습니다. values_list()는 filter method 등으로 불러온 QuerySet 결과값들을 tupple이 담긴 list 형태로 바로 만들어주고 values()는 QuerySet 결과값들을 dictionary가 담긴 list 형태로 바로 만들어줍니다. Django 프로젝트를 만들고 다음과 같이 예제를 살펴보겠습니다. # models.py from django.db import models class Fruits(models.Model): name = models.CharField(max_length=30) price = models.PositiveIntegerField() grade = models.Pos..
zip # python 여러 list, set 등을 묶어서 for loop 돌기 python의 zip은 여러 list를 같은 index 순서대로 묶어서 for문을 돌릴 수 있습니다. a = [1,2,3,4] b = ['a', 'b', 'c', 'd'] c = ['가', '나', '다', '라'] for A, B, C in zip(a,b,c): print(A, B, C) 결과값 1 a 가 2 b 나 3 c 다 4 d 라 list의 길이가 다를 경우는 짧은 순서에 맞게만 짝지어 집니다. a = [1,2,3,4] b = ['a', 'b', 'c', 'd'] c = ['가', '나', '다', '라', '마'] for A, B, C in zip(a,b,c): print(A, B, C) 결과값 1 a 가 2 b 나 3 c 다 4 d 라 list의 길이가 다를 경우 처음부터 실행이 되지 않도록..
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. # app.models import 할 때 Celery 실습 중에 아래 코드를 작성하고 Script를 실행하니 다음과 같은 에러 발생 from django_celery_beat.models import PeriodicTask django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. ChatGPT) It looks like you are trying to use Django before the application registry has been fully initialized. This can happen if you are trying to access models before the app containing them has been fully loaded. To fix this..
email 보내기 # Django send email # SMTP gmail 이용 app 비밀번호 발급 받기 (오른쪽 상단) Google 계정 관리 (왼쪽 상단) 보안 Google에 로그인 > 2단계 인증 - 전화번호 입력하고 문자로 인증 하는 등 쭉쭉 진행 2단계 인증 마치고 나면 앱 비밀번호란이 활성화: 앱 비밀번호 클릭 앱선택, 기기선택 -> 알맞게 선택 (ex. 메일, Windows 컴퓨터) 16자리의 앱 비밀번호가 나오는데 캡처기능을 막아놓은 듯합니다. 잘 보관해둡니다. 메모장 등에 적어서~ Django 1) settings project/settings.py # SMTP Settings EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = True EMAIL_HOST = '..
날짜 구하기 # 한달 전의 날짜 구하기 1) datetime, timedelta from datetime import datetime, timedelta today = datetime.now() one_month_earlier = today - timedelta(days=30) print(one_month_earlier) 결과값: 2022-11-30 22:56:51.045597 2) datetime, relativedelta(from dateutil) from datetime import datetime # pip install python-dateutil from dateutil.relativedelta import relativedelta today = datetime.now() one_month_earlier = today + relat..

728x90
반응형