Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Python NDB key.get()给出';unicode';对象没有属性';获取';错误_Python_Google App Engine_App Engine Ndb - Fatal编程技术网

Python NDB key.get()给出';unicode';对象没有属性';获取';错误

Python NDB key.get()给出';unicode';对象没有属性';获取';错误,python,google-app-engine,app-engine-ndb,Python,Google App Engine,App Engine Ndb,我正在从db迁移到ndb。有一个函数可以动态地为路径中的图像提供服务。在DB中,我将实体键(i.key())作为img_id传递,并使用DB.get(key)获取图像 对于NDB,我尝试传递密钥(i.key)和实体密钥(i.key.urlsafe())。但在这两种情况下,我得到的“unicode”对象都没有属性“get”错误 **DB:** def get(self): image = db.get(self.request.get('img_id')) **HTML** <a clas

我正在从db迁移到ndb。有一个函数可以动态地为路径中的图像提供服务。在DB中,我将实体键(i.key())作为img_id传递,并使用DB.get(key)获取图像

对于NDB,我尝试传递密钥(i.key)和实体密钥(i.key.urlsafe())。但在这两种情况下,我得到的“unicode”对象都没有属性“get”错误

**DB:**
def get(self):
image = db.get(self.request.get('img_id'))

**HTML**
<a class="post-title" href ="{{permalink}}">{{i.content}}</a>
<img src="/img?img_id={{i.key}}"></img>

**NDB**
class ImageHandler(BlogHandler):
def get(self):
    img=self.request.get('img_id')
    image=img.get()
    if image.image:
        self.response.headers['Content-Type'] = 'image/png'
        self.response.out.write(image.image)
    else:
        self.response.out.write('No image')     
**DB:**
def get(自我):
image=db.get(self.request.get('img\u id'))
**HTML**
**NDB**
类ImageHandler(BlogHandler):
def get(自我):
img=self.request.get('img\u id')
image=img.get()
如果image.image:
self.response.headers['Content-Type']='image/png'
self.response.out.write(image.image)
其他:
self.response.out.write('无图像')

我找不到这里面的错误。我是否为key.get()中的key传递了错误的类型?

您可以尝试以下操作:

HTML

<a class="post-title" href ="{{ permalink }}">{{ i.content }}</a>
<img src="/img?img_id={{ i.key.urlsafe() }}"></img>

希望这有帮助。

非常感谢,塔诺斯。这很有帮助。
class ImageHandler(BlogHandler):
def get(self):
    img_key = ndb.Key(urlsafe=self.request.get('img_id'))
    image = img_key.get()
    if image.image:
        self.response.headers['Content-Type'] = 'image/png'
        self.response.out.write(image.image)
    else:
        self.response.out.write('No image')