我正在研究一个涉及将头像发布到用户个人资料页面的小项目,看起来很直观。我遵循GAE网站上的“Using the Images Python API”的指示。GAE图像通过Django发布到数据存储形式
虽然他们提供的示例似乎不适用于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"))
试图让这个工作一样,所以请相信我做到了,最初使用的代码块从指令时,我已经尝试了许多不同的变化。
任何帮助,非常感谢。
在此先感谢。