无法根据Python GAE中的项键在浏览器中查看该项

无法根据Python GAE中的项键在浏览器中查看该项,python,google-app-engine,web-applications,Python,Google App Engine,Web Applications,我正在将python GAE与webapp一起使用 我有一个表单供用户在数据库中创建对象,类似于: class SpamRecord(db.Model): author = db.ReferenceProperty(Author, required=True) text = db.StringProperty() class ViewSpamPage(webapp.RequestHandler): def get(self, spam_id): self

我正在将python GAE与webapp一起使用

我有一个表单供用户在数据库中创建对象,类似于:

class SpamRecord(db.Model):
    author = db.ReferenceProperty(Author, required=True)
    text = db.StringProperty()
class ViewSpamPage(webapp.RequestHandler):
    def get(self, spam_id):
        self.response.out.write("Got here")
创建后,用户将重定向到其URL包含该对象密钥的页面。。。使用代码,例如:

spam = SpamRecord(author=author, text=text)
spam.put()
new_spam_key = spam.key()
self.redirect("/view_spam/%s" % new_spam_key)
这主要起作用,我可以在以下位置查看项目:

sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQYy8oJDA sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQY_boJDA

然而,偶尔会有一把钥匙不起作用。下面是最近两个不会加载和返回
HTTP 404 not found
错误的页面示例:

sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQY-5MJDA sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQY-boJDA

My
html映射.py
包含以下映射:

(r"/view_spam/(\w+)", ViewSpamPage)
ViewSpamPage
看起来像:

class SpamRecord(db.Model):
    author = db.ReferenceProperty(Author, required=True)
    text = db.StringProperty()
class ViewSpamPage(webapp.RequestHandler):
    def get(self, spam_id):
        self.response.out.write("Got here")
有人能提供一些关于为什么会发生这种情况以及如何预防这种情况的见解吗


非常感谢

在正则表达式中,
\w
与连字符不匹配。(它将匹配下划线。)对于第二对密钥,这将导致仅将密钥的一部分传递给处理程序


在您的URL模式中,请尝试查看垃圾邮件/(.*)。

在正则表达式中,
\w
与连字符不匹配。(它将匹配下划线。)对于第二对密钥,这将导致仅将密钥的一部分传递给处理程序

在您的URL模式中,尝试查看垃圾邮件/(.*)