Note that there are some explanatory texts on larger screens.

plurals
  1. POGoogle App Engine: TypeError: 'tuple' object is not callable
    primarykey
    data
    text
    <p>Currently trying to create a basic blog using Google App Engine in Python. Here's the python code that I am using:</p> <pre><code>import os import re import webapp2 import jinja2 from string import letters from google.appengine.ext import db template_dir = os.path.join(os.path.dirname(__file__), 'templates') jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape=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)) def post_key(name = "dad"): return db.Key.from_path('blog', name) class Blogger(db.Model): name = db.StringProperty() content = db.TextProperty() created = db.DateTimeProperty(auto_now_add = True) def render(self): self._render_text = self.content.replace('\n', '&lt;br&gt;') return render_str("post.html", p = self) class MainPage(Handler): def get(self): self.response.write("Visit our blog") class BlogHandler(Handler): def get(self): posts = db.GqlQuery("SELECT * FROM Blogger order by created desc") self.render("frontblog.html", posts = posts) class SubmitHandler(Handler): def get(self): self.render("temp.html") def post(self): name = self.request.get("name") content = self.request.get("content") if name and content: a = Blogger(parent = post_key(), name = name, content = content) a.put() self.redirect('/blog/%s' % str(a.key().id())) else: error = "Fill in both the columns!" self.render("temp.html", name = name, content = content, error = error) class DisplayPost(Handler): def get(self, post_id): po = Blogger.get_by_id(post_id) if po: self.render("perma.html", po = po) else: self.response.write("404 Error") app = webapp2.WSGIApplication([('/', MainPage), ('/blog', BlogHandler), ('/blog/submit', SubmitHandler) ('/blog/([0-9]+)', DisplayPost)], debug=True) </code></pre> <p>However, when I try to run this code on my local server, this is what I get as an error:</p> <pre><code>File "F:\Python 2.7\engineapp1\HelloApp\appapp\main.py", line 66, in &lt;module&gt; ('/blog/([0-9]+)', DisplayPost)], debug=True) TypeError: 'tuple' object is not callable </code></pre> <p>What seems to be the problem here?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload