Album 모델은 다음과 같이 정의

from google.appengine.api import users
from google.appengine.ext import ndb

class AlbumModel(ndb.Model):
	artist = ndb.StringProperty()
	title = ndb.StringProperty(indexed=False)
	label = ndb.StringProperty()
	
	user = ndb.UserProperty()
	created_at = ndb.DateTimeProperty(auto_now_add=True)
	updated_at = ndb.DateTimeProperty()
	last_login = ndb.DateTimeProperty(auto_now=True)

 

그리고 템플릿으로 class를 넘긴다.

template = template_env.get_template('main.html')
		context = {
			'albums' : albums,
		}
		self.response.out.write(template.render(context))

 

템플릿에서는 다시 모듈로 album의 키 값을 넘겨야 하는데,

<form action="/delete" method="post">
            <input type="submit" id="button_delete" name="button_delete" value="Delete"/>
             <input type="hidden" name="key" value="{{album.key.urlsafe()}}"/>
          </form>

album.key.urlsafe() 요것이 핵심.

 

그럼 모듈에서는 다시,

	def post(self):
		key_string = self.request.get('key')
		self.response.out.write(key_string)
		rev_key = ndb.Key(urlsafe=key_string)

		album = rev_key.get()
		self.response.out.write(album)

이러면 정상적으로 불려져왔음이 확인 가능하다.

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

You May Also Like

[Python] Scikits.audiolab 설치

1. $sudo easy_install scikits.audiolab 실행시 다음과 같은 에러메세지 발생 error: sndfile (http://www.mega-nerd.com/libsndfile/) library not found. Directories to search…

4. Cocoapi setup @ python 3.5

Stackoverflow를 보면 python3에서는 작동이 안된다고들 하는데, 어쩌다보니 실행이 되는 듯해서 기록에 남긴다. 1. pip에서 git를 이용하기 위해 git를…

[GAE/Python] Schema 수정하기 #2. 삭제

이번에는 DB에서 항목을 삭제하는 것. https://cloud.google.com/appengine/articles/update_schema 및 http://sandrylogan.wordpress.com/2010/12/08/delattr/ 사이트 참조   class AlbumModel(ndb.Expando): #ndb.Model -> ndb.Expando로 교체 artist…

[GAE/Python] Schema 수정하기 #1. 추가

DB구조가 바뀔 때 항목들이 추가/삭제되어야 하는 부분. 이번에는 항목 추가에 대한 부분. https://cloud.google.com/appengine/articles/update_schema 페이지에 사실 너무 잘 적혀있다.…