def index(request): tag = request.args.get('tags') query = Book.all() if tag : tag_id = "" tag_model = Tag.all().filter("title =", tag).get() if tag_model : tag_id = str(tag_model.key()) query.filter("tags =", tag_id) query.order('-created') books = query.fetch(ITEMS_PER_PAGE) tags = Tag.all() return render_to_response('catalog/index.html', {'books': books, 'tags': tags})
def detail(request, key): book = Book.get(key) tag_key_list = book.tags #tags is always not None tag_title_list = [] for tag_key in tag_key_list : try : tag_title = Tag.get(tag_key) if tag_title : tag_title_list.append(tag_title) except : pass return render_to_response('catalog/detail.html', {'book': book, 'tag_title_list': tag_title_list})
def tag_relation(request, book_key): form = BookForm() book = Book.get(book_key) if request.method == "POST" : book.tags = [] tag_keys = request.form.getlist('tag_keys') for tag_key in tag_keys : book.tags.append(tag_key) book.save() book.put() tags = Tag.all() return render_to_response('register/tag_relation.html', {'errors': form.errors, 'book': book, 'tags': tags})