【发布时间】:2009-11-23 20:12:43
【问题描述】:
我正在做一个涉及将头像发布到用户个人资料页面的小项目,这看起来很简单。我正在按照 GAE 网站上“Using the Images Python API”的说明进行操作。
他们提供的示例似乎不适用于 Django。在这里搜索,我发现了一个有类似问题的线程,但说解决方案来自使用带有 GAE 的较新版本的 Django。我试图避免这种工作,并使用内置 API 让它运行。我是 Python 和 Django 的新手,但据我所知,图像没有正确发布到转换图像并将其发送到数据存储区的函数中。这是我的代码:
def post(self):
contacts = Contact()
if users.get_current_user():
contacts.owner = users.get_current_user()
else:
self.redirect('/')
contacts.fname = self.request.get('fname')
contacts.lname = self.request.get('lname')
contacts.pnum = self.request.get('pnum')
img = self.request.FILES['file'].read()
img.resize(32,32)
contacts.avatar = db.Blob(images.resize(img,32,32))
contacts.put()
self.redirect('/')
除头像字段外,其他所有字段均已正确添加。修改后的请求字符串来自先前声明的包含修复的线程。尝试访问头像时,这有点奇怪,页面显示损坏的图像,而不是我设置的默认图像。这使我相信,尽管该字段为空或缺失,但在请求它时仍有一些东西可以绘制唯一键。这里是显示图像功能:
class Image (webapp.RequestHandler):
def get(self):
contacts = db.get(self.request.get("img_id"))
if contacts.avatar:
image = contacts.avatar
self.response.headers['Content-Type'] = "image/png"
self.response.out.write(HttpResponseRedirect(contacts.avatar))
else:
self.response.out.wrute(HttpResponseRedirect("/static/image_not_found.gif"))
在尝试使其正常工作时,我尝试了许多不同的变体,因此请相信我最初确实使用了说明中的代码块。
非常感谢任何帮助。
提前致谢。
【问题讨论】:
标签: python django google-app-engine google-cloud-datastore