TIL

[Python]import_module을 사용해서 import 하기2017-05-01, Mon

python에서 숫자 등으로 시작하는 패키지를 import 할때는 주의해야한다.

import 1234
from 1234 import abc

위와 같이 숫자로 된 파일은 에러를 뱉을 뿐 import 되지 않는다. 그럴 땐 아래와 같이 한다.

import importlib

importlib.import_module('1234')
p = importlib.import_module('1234')
p.abc()

위와 같은 작업으로 import를 진행할 수 있다.

참고링크 - python …

more...

[Python] http 요청을 비동기로하기2017-04-26, Wed

http 요청으로 간단한 스크래핑 작업을 하는데 요청 갯수가 일곱개 정도 되니 시간이 오래걸린다.

asyncioaiohttp를 사용해서 속도를 높여보자.

위 …

more...

[Docker] Data Volume을 사용해서 데이터 지속하기2017-04-21, Fri

docker와 git-hook을 사용해서 어느정도 프로세스를 자동화하고 있다. 하지만 docker container를 부수고 다시 build 해서 돌리면 내부 데이터가 날아간다. DB의 경우는 --link 옵션을 이용해서 유지하지만 실제로 upload한 image와 같은 file들의 경우는 컨테이너와 함께 지워진다.

Data Volume을 사용해서 해결해보자.

docker create -v /srv/media --name data-store ubuntu /bin/true

이렇게하면 ubuntu 이미지를 …

more...

[Django] User에게 권한 부여하기2017-04-21, Fri

코드 몇줄로 간단하게 권한을 부여할 수 있다.

user = User.objects.get(username='testuser')
perm = Permission.objects.get(codename='model.add_model')
user.user_permissions.add(perm)

여기서 주의할 점은 적용되긴하지만 has_perm등으로 확인하면 해당 권한이 없다고 나온다는 점이다. 이는 캐싱되어 있는 정보때문에 그렇다. 캐시를 지우거나 인스턴스를 새로 불러오면 올바르게 적용된걸 확인할 수 …

more...

[Django] timezone 설정2017-04-19, Wed

Django에서 기본적인 DateTimeField를 현재 timezone으로 맞추고 싶다.

settings.py

TIME_ZONE = 'Asia/Seoul'
# USE_TZ = True

여기서 TIME_ZONE만 수정해주니까 저장되는 값이 달랐다. USE_TZ도 comment 해주니 정상적으로 입력되었다. 참고로 Django에서는 ISO 8601 을 따른다.

more...

[CSS] rem과 em2017-04-13, Thu

rem은 root에, em은 해당 요소의 font-size에 비례한다. 그리고 rem이 권장되는 편이다.

more...