python 29

MultiThread로 RabbitMQ에서 메세지를 읽어서 MongoDB에 쓰는 예제 (Python)

import pikaimport astimport pymongoimport datetimeimport loggingimport timeimport sys,traceback,socket,threadingfrom datetime import datetimefrom time import sleep # configurationMONGODB_NAME = "terrydb"HOSTNAME = ':'+socket.gethostname()QUEUE_NAME = 'hello'MONGODB_URL= 'mongodb://localhost'RABBITMQ_URL='localhost' LOG_FORMAT = ('[%(levelname)s] %(asctime)s %(name)s : %(message)s')LOGGER = loggi..

Python에서 Open API 호출하기

Rest API를 호출하기여러가지 라이브러리 (urllib2, httplib2)등을 체크해봤으나, https 를 가장 쉽게 호출할 수 있고, 사용하기 편한것은 requests라는 것이 가장 편리함 http://www.python-requests.org/en/latest/user/quickstart/#make-a-request 에서 curl 로 다운로드 하고 설치해서 사용 위는 도스창을 이용해서 간단하게 https로 dna.daum.net을 호출한 코드인데, 리턴값이 한글이라서 그런지. cp949 encode 에러가 남. (이건 나중에 수정해야 할거 같고) 기타 참고 자료 (아래) 참고 : API 호출 하기https://dna.daum.net/tools/python/tutorial SSL 사용하기urlli..

Django Template

Django의 MVC 구조 원본- littlegreenriver.comTemplate 란? Template은 쉽게 이야기 하면 jsp 파일과 같다고 보면된다.template은 string으로 파일에서 로딩할 수 도 있고 몇개의 notation을 통해서 구성된다.마치 JSP의 처럼time.html 파일이 다음과 같을때 current time is {{ current_time }} 이는 current time is (JSP에서)와 같은 의미라고 보면된다.실제 view 모듈에서 이 템플릿을 렌더링 하는데, 이때, tempalte에 있는 인자들을 대입한다. template = loader.get_template('time.html') current_time = datetime.datetime.now() cont..

Python을 이용한 간단한 mongodb insert 예제

Python을 이용한 간단한 mongodb insert 예제 1. easy_install.exe를 이용하여, mongodb python driver인 pymongo를 설치 2. 코드 작성 connection얻고, db선택하고,collection(여기서는 users테이블) 선택하면되고, insert,update등은 기존 mongodb script와 유사함. 에러 처리는 아래와 같이 try,except 사용 import sys import pymongo connection = pymongo.MongoClient("mongodb://localhost") db = connection.terrydb users = db.users doc = {'_id':'myid','firstname':'Terry','lastna..

초경량 Python 웹서버 bottle을 이용한 MVC 예제 + Cookie

초경량 Python 웹서버 bottleMVC 예제 Controller 파일 구현 /controller.py import bottle mythings = ['apple','orange','banana','peach'] @bottle.route('/') def home_page(): fruit = bottle.request.get_cookie("fruit") return bottle.template("hello_world",username="Andrew",things=mythings,like=fruit) @bottle.post('/favorite_fruits') def favorite_fruits(): fruit = bottle.request.forms.get('fruit') if(fruit == None ..

Python 경량 웹서버 Bottle 를 Win7에 설치에서 실행까지

Bottle은 Python 기반의 초경량 웹서버이다.Python 쪽에서는 Django등을 많이 사용하고 있지만, 설치도 쉽고, 가볍고 해서, 특정 목적이나 가벼운 테스트 웹 애플리케이션 개발등에는 충분히 활용이 가능하다.(자바의 Jetty 와 같은 느낌?) 1. easy_installer에 설치먼저 bottle을 설치하려면, installer부터 설치하는 것이 수월하다. python은 linux의 yum이나 rpm , 또는 Java의 maven과 유사하게 Pypi(Python Package Index - https://pypi.python.org/pypi ) 라는 툴을 제공한다. 먼저 https://pypi.python.org/pypi/setuptools#windows 에서 ez_setup.py를 다운로..

Python Fabric Install

AWS EC2 (Amazon Linux 기준) 1. Python install (dev package로 설치) (반드시 dev package가 설치되어 있어야지, pycrypto 설치시 에러가 나지 않음. pycrptyo는 encryption 관련 라이브러리로 C 라이브러리를 사용하는데, 컴파일중, python.h를 사용한다. 이 헤더 파일은 dev package안에 포함되어 있음) - yum install python-devel 2. pip install $ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py $ [sudo] python get-pip.py 3. gcc가 인스톨 (pycrypto 설치를 위해서 필요함) yum instal..

Python 공부 노트 10. - Django에서 Admin 화면 만들기

Admin 메뉴 추가 하기setting.py에서- admin 항목 uncomment 처리. INSTALLED_APPS에서 admin 모듈을 uncomment 처리하면됨- 다음으로 manage.py에서 syncdb 처리 (app이 새로 등록되었으니 데이타 베이스 테이블 생성) urls.py에서 - admin url을 오픈해주기 위해서 admin 기능 관련 코드 uncomment 처리 그후 django 서버 기동하고 http://xxxx//admin 으로 로그인 하면됨.로그인시 id/passwd는 처음에 manage.py syncdb 할때 넣었던 값으로 함.이 admin 화면에서는 사용자 관리, 그룹 관리, 권한 관리등의 기본적인 기능들을 제공한다. Admin 메뉴에 App admin 기능 추가 하기djan..

Python 공부 노트 8. - Django 에서 model을 이용한 기본 데이타 베이스 프로그래밍

Django는 기본적으로 MVC 모델을 가지고 있고, DB 접근에 대해서는 OR Mapper와 같은 기능을 model 기능을 이용해서 제공한다. 사실 최적화 정도는 조금 고려해봐야 겠지만, 기본적인 사용 방법은 다음과 같다. ==python manage.py syncdb- setting.py를 참고로 하여, default table을 데이타베이스에 생성 python startapp {appname}- 새로운 app을 생성함. - 생성후에는 setting.py에 가서, INSTALLED_APPS 부분에 생성한 app이름을 넣어줘야 컨테이너가 인식함INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.s..