레이블이 app engine인 게시물을 표시합니다. 모든 게시물 표시
레이블이 app engine인 게시물을 표시합니다. 모든 게시물 표시

2010년 1월 10일 일요일

구글 앱 엔진, coding: cp949확인!!

구글 앱 엔진으로 프로그래밍하다가
로컬에서는 잘 테스트가 되는데, 서버에 올리기만 하면 오류가 나서 삽질을 했다.
파이썬 소스 안에 한글이 들어갈 경우 coding 양식을 맨앞에 써줘야 하는데 빼놓았기 때문이다.
# -*- coding: cp949 -*-

2010년 1월 6일 수요일

[Google App Engine]session 사용하기

util 소스 코드 주소
http://www.appenginelearn.com/downloads/util.zip

예제코드(txt file 열기)



from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

from util.sessions import Session

class MainPage(webapp.RequestHandler):
def get(self):
session = Session()
if 'words' in session:
words = session['words']
else:
words = 'no words'

self.response.out.write('<html><body>')
self.response.out.write('<form action="/" method="post" enctype="multipart/form-data">')
self.response.out.write('Upload File: <input type="file" name="txt"><br>')
self.response.out.write('<input type="submit" name="submit" value="Submit">')
self.response.out.write(str(words))
self.response.out.write('</form>')
self.response.out.write('</body></html>')

def post(self):
words = self.request.get('txt')
session = Session()
session['words'] = words.split()
self.redirect('/')

application = webapp.WSGIApplication([('/', MainPage)], debug=True)

def main():
run_wsgi_app(application)

if __name__ == "__main__":
main()

2009년 11월 24일 화요일

앱 엔진 시작하기 start App Engine

앱 앤진 사용자 가입하기
http://code.google.com/intl/ko-KR/appengine/
(내 application ID : wogud86)

Google App Engine SDK for Python 다운받기
(필요하면 Download the Google App Engine Documentation도 다운)
http://code.google.com/intl/ko/appengine/downloads.html

D:\AppEngine\HelloWorld에 app.yaml파일 쓰기


application: wogud86
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
script: main.py


D:\AppEngine\HelloWorld에 파이썬 코드 넣기



#D:\AppEngine\HelloWorld

print 'Content-Type: text/plain'
print
print 'hello world'



app Engine 구동

command 창에 다음과 같이 입력 -> http://localhost:8080/ 접속하여 결과 확인

(명령이 끝나지 않고, 이 상태 에선 main.py수정 후 브라우저에서 새로고침 만으로 확인 가능)




command 창을 그대로 두고 main.py만을 수정하여 보자.



#D:\AppEngine\HelloWorld

import wsgiref.handlers
from google.appengine.ext import webapp

class MyHandler(webapp.RequestHandler):
def get(self):
self.response.out.write("hello!")

def main():
app = webapp.WSGIApplication([(r'.*', MyHandler)], debug=True)
wsgiref.handlers.CGIHandler().run(app)

if __name__ == '__main__':
main()

그리고 http://localhost:8080/창 새로 고침!!

이번엔 html을 분리시켜 보자.
같은 폴더안에 main.html 파일을 생성하고


Hello World



main.py를 수정한다.



#D:\AppEngine\HelloWorld

import wsgiref.handlers
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template

class MyHandler(webapp.RequestHandler):
def get(self):
self.response.out.write(template.render('main.html',{}))

def main():
app = webapp.WSGIApplication([(r'.*', MyHandler)], debug=True)
wsgiref.handlers.CGIHandler().run(app)

if __name__ == '__main__':
main()

그리고 http://localhost:8080/창 새로 고침!!

작업이 끝났으면 다음과 같은 명령으로 웹에 올린다.

그리고 자신의 앱 계정에서 올라간 것을 확인할 수 있다.

샘플 코드 많은 곳 : http://code.google.com/p/google-app-engine-samples/
구현할 것 : http://me2box.com/63