python

GAE – html 파일에서 python의 변수 직접 사용하기

1. template.render를 사용하는 경우 1:1로 치환할 정보를 정의한다.

HTML 코드

    The first album of user {{ username }} is "{{ album_name }}" ({{ num_photos }}) 
    <img src="{{ url }}" />

Python 코드

        template_values = { 
            #'url': photos[0], #url,
            'albums'    : albums,
            'album_name': album_title,
            'username': username,
            'num_photos': len(albums), #num_photos,
            #'photo_name': photo_name,
        }   

        path = os.path.join(os.path.dirname(__file__), 'output.html')
        self.response.out.write(template.render(path, template_values))

2. html 파일에 python code를 embed할 수 있다.

HTML 코드

    <ul>
    {% for album in albums %}
       <li> {{ album }}</li>
    {% endfor %}
    </ul>

위에서 albums는 1번에서 render() 함수에서와 같이 치환시켜 사용한다.(albums -> ‘albums’)

아래는 위 2가지를 모두 가지고 있는 HTML 파일(output.html)

<head>
    <link type="text/css" rel="stylesheet" href="/stylesheets/main.css" />
</head>

<html>
  <body>

    Public Album List
    <ul>
    {% for album in albums %}
       <li> {{ album }}</li>
    {% endfor %}
    </ul>

    The first album of user {{ username }} is "{{ album_name }}" ({{ num_photos }}) 
    <img src="{{ url }}" />

  </body>
</html>
note

Picasa client in Google App Engine

기존에 CLI로 만들었던 Picasa 사진 원본 다운받기 프로그램을 Google App Engine용으로 변환해보자.

제일 먼저 해야 할 건 이 페이지에 있는 것과 처럼

  • 계정 가입
  • SDK 다운로드
  • 그리고 Tutorial 둘러보기

Tutorial은 이 페이지에 있음. HTML이나 웹 응용 프로그램을 전혀 모르는 터라 잘 이해는 안되지만 대충 html페이지에 대한 request를 처리하고, 필요하면 request 처리 페이지에서 사용자 입력을 받아 response html를 만들어 보여주는 듯

TBD.

데모 페이지
Picasa ID를 입력하면 첫 번째 앨범의 이름, 사진 수, 첫 번째 사진의 URL 및 사진을 보여준다.

python, study

Getting Started: Python – Google App Engine – Google Code