繁体   English   中英

使用Google App Engine和python上传图像

[英]upload images using google app engine and python

我正在尝试上传图像,然后查看图像,但是它不起作用。 日志是:

  File "C:\Python27\lib\re.py", line 242, in _compile

    raise error, v # invalid expression

error: unbalanced parenthesis


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>


view.html

{{image.render()}} 

谁能解释我如何使用google-app-engine上传图片? 谢谢!

您在路线中缺少)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM