Python/Django

    [Django] 장고에서 TIME_ZONE & USE_TZ 파헤치기

    [Django] 장고에서 TIME_ZONE & USE_TZ 파헤치기

    이번에는 Django의 TIME_ZONE과 USE_TZ과 관련하여 파헤쳐보려고합니다. 장고에서 프로젝트를 생성하면 settings.py에 아래와같이 타임존관련 설정이 세팅되어있습니다. TIME_ZONE = 'UTC' USE_TZ = True UTC타임존을 사용하고 타임존을 사용한다는 말 입니다. 타임존이 'UTC'인건 이해할 수 있습니다. 다만 타임존을 사용한다?? 이게 무슨말일까요 이제부터 파헤쳐보려 합니다. **이글을 이해하기전 naive객체와 aware객체에 대한 이해가 더 필요하다면 아래의 글을 읽고 오시면 이해하시기 수월하실 것 입니다. https://dingwan0331.tistory.com/179 [Python] Python datetime aware & naive 객체 파이썬의 시간을 다루..

    [Django] Django Custom Manager 클래스 사용해보기

    반복하지 말 것(DRY, Don't Repeat Yourself) 고유한 개념 및 데이터는 단 한 번, 단 한 곳에 존재하는 것으로 족합니다. 중복성은 나쁜 것이고, 정규화는 좋은 것입니다. 그러한 이유로, 본 프레임워크는 최소한의 것들을 가지고 최대한의 것을 만들어내도록 합니다. Django는 Dry원칙을 따릅니다. 이 Dry원칙을 지키는 일부분으로 Custom Mnager클래스를 사용해보려 합니다. Manager 클래스란 무엇일까?! Django.db.models 에 존재하는 Manager 클래스입니다. 우리가 Django에서 흔히 사용했던 클래스.objects.create()의 objects를 의미합니다. Django의 모델들은 objects라고 하는 default 매니저 클래스를 보유하게 됩니다...

    [Django]장고에서 앱이름 변경하기

    [Django]장고에서 앱이름 변경하기

    이번에는 1차프로젝트인 wish korea를 리펙토링 하려고 합니다. 앱이름들은 현재 DB테이블명으로 되어있어서 이를 수정하는 방법에 대해 블로깅 하려고 합니다. 우선은 stack overflow에 나와있는 방법입니다. https://stackoverflow.com/questions/8408046/how-to-change-the-name-of-a-django-app How to change the name of a Django app? I have changed the name of an app in Django by renaming its folder, imports and all its references (templates/indexes). But now I get this error when I ..

    [Django] Models class Manager

    class Manager class Manager는 Django 모델에 제공하는 인터페이스 입니다. objects라는 default name을 가지고 있으며 QuerySet API를 사용하게 해주는 인터페이스입니다. Django 응용 프로그램의 각 모델에 대해 하나 이상의 관리자가 있습니다. 매니져클래스의 이름은 아래와 같이 변경할 수 있습니다. from django.db import models class Person(models.Model): #... people = models.Manager() # 이제 objects가 아닌 people로 사용합니다. Person.people.all() 위와같이 수정시 Person.objects.all()을 사용하면 AttributeError 예외를 반환합니다. c..

    [Django] ver.3 피드백 모음

    이전 ver.3 포스팅 https://dingwan0331.tistory.com/100 [Django] Westagram 회원가입 기능 작성해보기 ver.2 이번에는 저번에 블로깅한 View의 다른버전입니다. 기본적인 흐름은 아래와같습니다. 유효성검사를 modules로 구현 직접 모듈 내에서 return이 아닌 raise로 예외발생 except란에 각 예외별로 리턴값을 dingwan0331.tistory.com 1.모듈 import의 구분 import하는 Package들은 크게 3가지로 분류합니다. 첫번째: 내장 package 두번째: pip로 install 한 외부 package 세번째: 직접 작성한 package 이렇게 분류에 별로 분리해서 공백 1줄을 줘서 공백을 맞춰줍니다. from django..

    [Django] Westagram 회원가입 기능 작성해보기 ver.3

    [Django] Westagram 회원가입 기능 작성해보기 ver.3

    자 이번엔 ver.3입니다. 주말기간이라 멘토님들의 피드백없이 혼자의 생각으로 수정한것이라 도찐개찐느낌일 수 있습니다. 지난번에는 수많은 except 클래스구현과 예외처리가 불필요하다 생각 되었습니다. 우선 ver.3 에는 따로 모듈을 만들어서 진행하지 않았습니다. DB역시 이전과 동일합니다. views.py 코드 class SingUpView(View): def post(self, request): try: data = json.loads(request.body) username = data['username'] first_name = data['first_name'] last_name = data['last_name'] email = data['email'] password = data['passwo..