Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
尝试使用html python和google应用程序引擎上传照片_Python_Html_Google App Engine_Webapp2_Blobstore - Fatal编程技术网

尝试使用html python和google应用程序引擎上传照片

尝试使用html python和google应用程序引擎上传照片,python,html,google-app-engine,webapp2,blobstore,Python,Html,Google App Engine,Webapp2,Blobstore,有人能就如何解决这个问题给出一个基本的想法吗。它在本地主机上不工作,blobstore也不工作。还有其他方法吗?或者有人能告诉我正确的方法吗? 我只显示与查询相关的代码。。。。 这是错误的图片 html代码 <div class="form-group"> <input type="file" class="form-control" name="profile_pic" value="" placeholder="profile_pic">

有人能就如何解决这个问题给出一个基本的想法吗。它在本地主机上不工作,blobstore也不工作。还有其他方法吗?或者有人能告诉我正确的方法吗? 我只显示与查询相关的代码。。。。 这是错误的图片

html代码

<div class="form-group">
            <input type="file" class="form-control" name="profile_pic" value="" placeholder="profile_pic">
            <div class="error">
            {{error_username}}
          </div>
        </div>
类传递参数以在用户类中注册函数

class Register(Signup,blobstore_handlers.BlobstoreUploadHandler):   
    def done(self):
        u = User.by_name(self.username)
        if u:
            msg = 'That user already exists.'
            self.render('signup-form.html', error_username = msg)
        else:
            upload = self.get_uploads()[0]
            u = User.register(self.username, self.password, upload.key(), self.email)
            u.put()

            self.login(u)
            self.redirect('/blog')
用户模型。 传递参数profile_pic并将profile_pic分配给用户实体中的列profile_pic

class User(db.Model):
    name = db.StringProperty(required = True)
    pw_hash = db.StringProperty(required = True)
    email = db.StringProperty()
    profile_pic = db.BlobProperty()

    @classmethod
    def by_id(cls, uid):
        return User.get_by_id(uid, parent = users_key())

    @classmethod
    def by_name(cls, name):
        u = User.all().filter('name =', name).get()
        return u

    @classmethod
    def register(cls, name, pw, profile_pic, email = None):
        pw_hash = make_pw_hash(name, pw)
        return User(parent = users_key(),
                    name = name,
                    pw_hash = pw_hash,
                    profile_pic = profile_pic,  
                    email = email)

    @classmethod
    def login(cls, name, pw):
        u = cls.by_name(name)
        if u and valid_pw(name, pw, u.pw_hash):
            return u

使用
blobstore。创建上传url

必须通过从appengine后端获取的表单参数设置上载url,并将其传递到表单标记:

  self.render('page',form_url=blobstore.create_upload_url('/upload'

您收到的错误是什么?你想把照片上传到哪里?在谷歌云存储服务中?您需要提供有关应用程序的更多上下文信息。问题太广泛,请更具体一些基本:很抱歉延迟,选择相关代码和格式需要时间。您的错误似乎是
索引器:列表索引超出范围
upload=self.get\u uploads()[0]
。因此列表中可能没有任何元素。在尝试访问索引
0
中的元素之前,请检查其长度@voscausa提供的博客条目是否有助于解决此问题?@tudomi如何检查?我不熟悉该列表,在这方面也不太好…@voscausa我需要在jinja 2模板中显示该照片,我们需要将该照片存储在该链接中未显示的列中…我对此非常业余,因此请您指导。。。
  self.render('page',form_url=blobstore.create_upload_url('/upload'