Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用googleappengine和python上传图像_Python_Html_Google App Engine_Python 2.7 - Fatal编程技术网

使用googleappengine和python上传图像

使用googleappengine和python上传图像,python,html,google-app-engine,python-2.7,Python,Html,Google App Engine,Python 2.7,我试图上传一张图片,然后查看图片,但它不起作用。记录如下: main.py import webapp2 import os import jinja2 from google.appengine.ext import db from google.appengine.api import images template_dir = os.path.join(os.path.dirname(__file__), 'templates') jinja_env = jinja2.Enviro

我试图上传一张图片,然后查看图片,但它不起作用。记录如下:


main.py

import webapp2
import os
import jinja2

from google.appengine.ext import db
from google.appengine.api import images

template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
                               autoescape = True)

def render_str(template, **params):
    t = jinja_env.get_template(template)
    return t.render(params)

class MainHandler(webapp2.RequestHandler):
    def render(self, template, **kw):
        self.response.out.write(render_str(template, **kw))

    def write(self, *a, **kw):
        self.response.out.write(*a, **kw)

def img_key(name = 'default'):
    return db.Key.from_path('imgs', name)


class BazaDate(db.Model):
    avatar = db.BlobProperty()

class Image_View(MainHandler):
    def get(self, img_id):
        key = db.Key.from_path('BazaDate', img_id, parent=img_key())
        image = db.get(key)

        if not image:
            self.error(404)
            return

        self.render("view.html", image = image)

class Upload(MainHandler):
    def get(self):       
        self.render('upload.html')
    def post(self):
        avatar = self.request.get('img')
        p=BazaDate(avatar=avatar)
        p.put()
        self.redirect('/view/%s' % str(p.key().id()))
app = webapp2.WSGIApplication([('/', Upload),
                                ('/view/([0-9]+)', Image_View)],
                              debug=True)

upload.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <form enctype="multipart/form-data" method="post">
    <input type="file" name="img">
    <input type="submit">
</form>
</body>
</html>
{{image.render()}} 
有人能解释一下我如何使用谷歌应用程序引擎上传图片吗?非常感谢。

您的路线中缺少一个

'/view/([0-9]+”
应该是
'/view/([0-9]+)

{{image.render()}}