본문 바로가기

Python

(22)
python으로 ucloud storage에 파일 업로드 방법 python으로 ucloud storage에 파일을 업로드 하는 방법은 http://ngee.tistory.com/164 여기에 쉽게 설명이 되어 있네요.. 따라만 하면 된다. 이때, 혹시라도 Traceback (most recent call last): File "/usr/local/bin/swift", line 39, in from swiftclient.version import version_info File "/usr/local/lib/python2.7/dist-packages/swiftclient/version.py", line 17, in from pbr import version as pbr_versionImportError: No module named pbr 이렇게 에러가 난다면.. pb..
django에서 cloud db서버의 mysql 접근시 502 bad gateway 오류가 난다면.. 이전 글에서 kt ucloud에서 virtualenv위에 django와 nginx를 설치하였었다. (http://abipictures.tistory.com/918)그리고, django에서 프로젝트를 생성했을때 정상적으로 동작되는 것을 확인도 하였다. 그렇게 django app을 개발하면서 db를 사용하게 될텐데, db서버도 kt ucloud에 신청하였다.그리고, django의 settings.py를 아래처럼 수정하였다. DATABASES = { 'default': { 'ENGINE':'django.db.backends.mysql', 'NAME':'(신청한 db명)', 'USER':'DB이용자 ID', 'PASSWORD':'DB이용자 암호', 'HOST':'KT UCLOUD의 DB서버 Private IP ..
django에서 server error 500이 뜰때는.. django에 생성한 프로젝트의 settings.py 파일에서 DEBUG = False 로 설정해놨더니, Server Error 500이 뜬다... 문제 해결은 간단하다. 하단에 ALLOWED_HOSTS = '*' 으로만 바꿔주면 된다.
django + celery + RabbitMQ 적용해서 비동기 task queuing하기. Django로 웹 서비스를 개발하다보면, 백엔드(Backend)에서 어떤 프로세싱을 해야할 일이 생길것이다. 예를들면 업로드된 영상을 처리한다던지, 어떤 결제나 승인을 대기한다던지등등.. 이런 작업을 처리하기 위한 시스템을 만들기 위해서 Celery라는 분산 메세지 패싱기반 비동기 태스크 큐(Queue)를 사용하면 좋다. 나도 처음 써봤는데.. 아직 전체 구조가 확실히 눈에 들어오지는 않지만, 간단한 예제를 돌려보니 대충 감은 온다. 구글링을 해보면 참 설명이 많이 나오는데.. 이게 Celery 버젼에 따라 설정방법이 바뀐것도 있고해서.. 몇번 시도하다가 에러만 계속 나길래.. 이것저것 건들여보다가 정상동작 하는것을 확인하고 블로그에 기록을 해둔다. 1. Celery 3.0 설치 웹사이트 : http:/..
django 1.5를 KT ucloud 서버에 올리기 * https://ucloudbiz.olleh.com/ 위 사이트를 방문하면 KT에서 제공하는 ucloud서비스를 1년간 무상으로 사용해 볼 수 있다. 실제로 어떤 서비스를 하기에는 부족하지만, 개발버젼으로 실제 서비스에 올리기전에 테스트를 해볼 수 있을 정도는 될듯하다. Django에서 보통 개발을 할때 처음부터 apache 서버를 이용하지는 않을것이다. 이미 내부에 http 서버가 내장되어 있기때문에, 간단한 명령하나로 localhost에서 테스트는 이루어 진다. 하지만, 실제로 서비스를 그대로 올려서 사용하지는 않을것이다. 사용하는 database에 맞게 설정을 변경 하거나, 보안 관련 설정 및 성능 테스트에따라 추가 패키지 설치나 연동이 필요할 것이기 때문이다. 일단 개발이 완료된 django 서..
django 1.5에서 메일로 가입 activation 처리하기. 웹 사이트에 가입시 사용자 등록을 하는 것 만으로 가입을 바로 하는것이 아니라, 가입시에 등록한 이메일로 activation을 최종 체크해야 등록하게 하는 방법을 설명하려고 한다. 이런 방법을 사용하는 이유는 실제 사용 가입자임을 가려내기 위한것이고, email주소를 id로 사용하는 것과 유사한 효과를 낸다. email을 id로 사용하면 그 자체가 고유 id로 작용하는 장점이 있지만, 어짜피 email로 activation 확인을 받아서 최종적으로 실제 사용할 사람인지를 구분한다는 점에서.. 굳이 id로 email주소를 사용하는 것보다 개별적인 id 이름을 허용하되 email activation으로 체크하면 될 것라 생각한다. 물론, email 주소를 고유 id로 사용하면 a@test.com과 a@exa..
django에서 email로 registration 하기. 참고 URL : https://github.com/bitmazk/django-registration-email django에서는 default가 username이 primary 값이라, username을 기준으로 등록된다.(동일한 username이 존재하지 않는다.) 하지만 email로 바꾸고 싶다면..위 사이트에서 소스를 다운받아 설치하면 된다. 사용법도 어렵지 않다. 사용방법 (1) 패키지를 설치한다. pip install -e git://github.com/bitmazk/django-registration-email#egg=registration_email (2) app를 등록한다. INSTALLED_APPS = [ # all your other apps 'registration', 'registr..
django에서 email를 사용자 id로 사용하고 싶을때.. Django에서는 User라는 객체가 있는데, user email이 아닌 username이 unique한 값으로 설정되어 있다. 즉, 메일주소는 동일한값이 존재하는 것은 허용하지만, username은 중복되는 것은 허용하지 않는다. 그런데, 요즘은 username으로 가입 id를 받는것보다 email주소를 user id로 받는 경우가 많다. 그러면 어떻게 해야할까.. 아래 사이트에서 Custom user model을 다운받아서 설치하면 된다. 참고로 django 1.5버젼 이상에서만 테스트된것 같다.django-custom-user는 django의 기본적인 User객체와 동일하지만, username 대신에 email을 사용한다는 차이 뿐이다. https://pypi.python.org/pypi/djang..