반응형
코딩 스타일
임포트 순서
- 표준 라이브러리
- 코어 장고 임포트
- 장고와 무관한 외부 앱 임포트
- 프로젝트 앱 임포트
ex)
# Stdlib imports
from math import sqrt
from os.path import abspath
# Core Django imports
from django.db import models
from django.utils.translation import ugettext_lazy as _
# Third-party app imports
from django_extensions.db.models import TimeStampedModel
# Imports from your apps
from splits.models import BananaSplit
명시적 성격의 상대 임포트를 이용하자
# 하드코딩된 임포트 (사용 X)
form cones.models import WaffleCone
# cones 패키지 상대 임포트 (사용 O)
from .models import Wafflecone
하드코딩을 한다면 수정에 대한 영향범위가 늘어나고 이후 문제 소지가 커진다. .models와 같이 명시적인 상대 임포트 습관을 갖도록 하자.
파이썬 이름 충돌
from django.forms import CharField
from django.db.models import CharField
절대 사용하면 안되는 임포트 방식이다.
장고환경
- 장고환경을 구성할 때는 같은 로컬과 상용에 같은 데이터베이스를 사용하자. 사용은 MY-SQL과 같은 데이터베이스를 사용하나 로컬에서는 sqlLite를 그냥 사용한다. 하지만 이 둘의 DB는 분명 차이가 있다. 로컬에서 구동이 되더라도 상용에 업로드를 한다면 문제가 발생할 소지가 크다.
- PIP와 가상환경 툴인 virtualenv를 사용하자.
- 기본 장고 프로젝트 템플릿은 우리가 생각하는 구성과 조금 다르다. 조금 더 효율적인 그리고 편리한 쿠키커터를 사용하여 구성하자.
< two scoops of django 내용>
반응형
'Programming > python' 카테고리의 다른 글
장고 서버와 리액트 프런트를 연동하자(django-cors-header) (1) | 2020.03.03 |
---|---|
[django] 투 스쿱 오브 장고 (4장 앱 디자인, 5장 settings/requirements 파일) (0) | 2020.01.09 |
[python] django-heroku, ValueError: Missing staticfiles manifest entry for 에러 (0) | 2019.05.26 |
[DesignPattern] 스트래티지 패턴(strategy) (0) | 2019.04.17 |
[python] virtualenv을 이용한 python2.7 가상환경 설치(pip 설치, virtualenv 설치 ) (0) | 2019.03.17 |