【发布时间】:2012-07-18 00:27:34
【问题描述】:
我无法让图像显示在页面上。我可以很好地保存它。
这些是处理程序:
class disp_image(webapp.RequestHandler):
def get(self):
key = self.request.get('key')
image = Images.get(key)
if image:
self.response.headers['Content-Type'] = "image/png"
return self.response.out.write(images.image)
else:
self.response.headers['Content-Type'] = "image/png"
return self.response.out.write("/static/unknown.gif")
class Profile(MainHandler):
def get(self):
if self.user:
self.render('profile.html', username = self.user.name, email = self.user.email, first_name = self.user.first_name, last_name = self.user.last_name, country = self.user.country, prov_state = self.user.prov_state, city_town = self.user.city_town)
else:
self.redirect('/register')
class Change_Profile_Image(MainHandler):
def get(self):
if self.user:
self.render('change_profile_image.html', username = self.user.name, firstname=self.user.first_name)
else:
self.render('change_profile_image.html')
def post(self):
images = Images()
imageupl = self.request.get('img')
images.image = db.Blob(imageupl)
images.put()
self.redirect('/profile')
db 的内容如下:
class Images(db.Model):
image = db.BlobProperty()
class User(db.Model):
name = db.StringProperty(required=True)
pw_hash = db.StringProperty(required=True)
email = db.StringProperty(required=True)
first_name = db.StringProperty()
last_name = db.StringProperty()
country = db.StringProperty()
prov_state = db.StringProperty()
city_town= db.StringProperty()
clan= db.StringProperty()
handle= db.StringProperty()
形式:
<form enctype="multipart/form-data" method="post">
<input type="file" name="img" />
</form>
我的模板替换代码:
<img src="/disp?key={{image}}" /></img>
【问题讨论】:
-
你有什么问题? (404、垃圾内容等?)您也可以发布您的 app.yaml 和路由设置。
-
{{image}} 未通过。另外,我手动插入了图像键,但仍然没有显示图像。
-
Yaml
{{ application: suitegamer version: 1 runtime: python27 api_version: 1 threadsafe: true handlers: - url: /static static_dir: static - url: /img static_dir: img - url: /.* script: main.app libraries: - name: jinja2 version: latest - name: PIL version: "1.1.7"}} -
我会先尝试看看 /disp?key=
是否有效。你能发布与每个处理程序关联的路线吗? -
您已经(几乎)向我们展示了所有相关代码,这很好,但您实际上并没有解释问题所在。
标签: python image google-app-engine blob