Найти - Пользователи
Полная версия: Image API
Начало » Google App Engine » Image API
1
ph0en1x
Простите если вопрос слишком лёгким покажеться я только новичёк :)



Картинка отдаёться следующим образом:

class Image (webapp.RequestHandler):
def get(self):
greeting = db.get(self.request.get("img_id"))
if greeting.avatar:
self.response.headers['Content-Type'] = "image/png"
self.response.out.write(greeting.avatar)
else:
self.error(404)
Вопрос скорее касаеться не самого апи, а работы с GET.
Исходя из стандартного примера на аппспот мы получаем адрес картинки /img?img_id=agZkZXYtZGJyDwsSCEdyZWV0aW5nGIsnDA

можно сделать что бы адрес был /img/agZkZXYtZGJyDwsSCEdyZWV0aW5nGIsnDA.png ??
Хотелось бы именно адреса с окончанием *.png
Андрей Светлов
В application request handlers задаются как regexp, получившиеся при разборе группы попадают в обработчики get/post/…

class Image (webapp.RequestHandler):
def get(self, img_id):
# get image and fill self.response

application = webapp.WSGIApplication([
# ...
(r'/img/(\w+)\.png', Image),
])
ph0en1x
class Images (webapp.RequestHandler):
def get(self, imgs_id):
greeting = db.get(self.request.get("imgs_id"))
if greeting.fullsize:
self.response.headers['Content-Type'] = "image/jpeg"
self.response.out.write(greeting.fullsize)
else:
self.response.out.write("No image")

application = webapp.WSGIApplication(
[('/', MainPage),
('/sign', Guestbook),
('/img', Image),
(r'/imgs_id/(\w+)\.jpg', Images),
('/add', AddNews)],
debug=True)
def main():
run_wsgi_app(application)

if __name__ == "__main__":
main()
В шаблоне отображаю вот так:
{% for greeting in greetings %}
<a class="zoom" rel="group" title="{{ greeting.title }}" href="imgs_id/{{ greeting.key }}.jpg"><img src="img?img_id={{ greeting.key }}" alt="" /></a>
{% endfor %}
/imgs_id/agZkZXYtZGJyDwsSCEdyZWV0aW5nGNk2DA.jpg - 404 ошибка:
Error: Not Found

The requested URL /imgs_id/agZkZXYtZGJyDwsSCEdyZWV0aW5nGIsnDA.jpg was not found on this server.
Хотя если пользоваться img?img_id=agZkZXYtZGJyDwsSCEdyZWV0aW5nGNk2DA - всё ок

В чём я ошибся?
slav0nic
 greeting = db.get(self.request.get("imgs_id"))
при /imgs_id/agZkZXYtZGJyDwsSCEdyZWV0aW5nGIsnDA.jpg ты ж ?img_id не передаёшь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB