Google App Engine(Python) - 获取数据存储区错误

时间:2015-08-15 16:25:43

标签: python google-app-engine google-cloud-datastore

我正在尝试创建一个笔记页面,在底部我有一个输入,我可以留下自己要查看的内容的主题,它将发布到输入下方。我对编程很新,我遇到了错误。我想将评论存储在数据存储区中,但我似乎无法让它工作。我收到这个错误:

InternalError:没有这样的表: projectname !!实体

有任何帮助吗?我究竟做错了什么。如果需要,我可以提供我的app.yaml或index.yaml页面。

以下是我的HTML索引模板页面的输入部分:

 <form method="post">
     <input type="text" name="comment" size="40" style="display: block; margin: 0 auto; text-align:center" >
     {% if items %}
         {% for item in items %}
            <input type="hidden" name="comment" value="{{item}}">
         {% endfor %}
     {% endif %}
     <br>
     <button style="display: block; margin: 0 auto;">Add</button>

     {% if items %}
         <h3 class="idea-name" style="text-align:center">Topics to look into</h3>
         <ul>
           {% for item in items %}
                <li>{{ item }}</li>
           {% endfor %}
         </ul>
     {% endif %}
 </form>

这是我的main.py文件:

import jinja2
import webapp2 
import os

from google.appengine.ext import ndb

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


class Comment(ndb.Model):
    content = ndb.StringProperty()
    date = ndb.DateTimeProperty(auto_now_add=True)

class Handler(webapp2.RequestHandler):
    def write(self, *a, **kw):
      self.response.out.write(*a, **kw)

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

    def render(self, template, **kw):
      self.write(self.render_str(template, **kw))

class MainPage(Handler):
    def get(self):
      query = Comment.query().order(Comment.date)
      for comment in query:
        content = comment.content
        self.response.write('<p>%s</p>' % self.comment.content)
      self.render("index.html")

    def post(self):
        content = self.request.get('content')
        comment = Comment(content = content)
        comment.put()
        import time
        time.sleep(.1)
        self.redirect('/')


class Unit0Page(Handler):
    def get(self):
  self.render("unit0.html")

class Unit1Page(Handler):
    def get(self):
      self.render("unit1.html")

class Unit2Page(Handler):
    def get(self):
      self.render("unit2.html")

class Unit3Page(Handler):
    def get(self):
      self.render("unit3.html")


app = webapp2.WSGIApplication([
    ('/', MainPage),
    ('/unit0.html', Unit0Page),
    ('/unit1.html', Unit1Page),
    ('/unit2.html', Unit2Page),
    ('/unit3.html', Unit3Page)], debug=True)

0 个答案:

没有答案