gpt4 book ai didi

python - Google App Engine Python : Class Definition “Invalid Syntax”

转载 作者:行者123 更新时间:2023-12-03 08:14:46 28 4
gpt4 key购买 nike

当我在dev_appserver中运行此代码时,它在第22行(​​初始化HugAPanda类)处给我“无效语法”错误。有人知道为什么会这样吗?这是代码:

import wsgiref.handlers
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class PandasHugs(db.Model):
message = db.IntegerProperty()

class MainPage(webapp.RequestHandler):
def get(self):
ListOfHugs = db.GqlQuery("SELECT * FROM PandasHugs")
Adder = 0
for PandasHugs in ListOfHugs:
Adder = Adder + 1
self.response.out.write('<html><body>')
self.response.out.write('<h6>Panda has ' + str(Adder) + ' hugs!</h6>')
self.response.out.write("<form action=\"/HugPanda\" method=\"post\"><div><input type=\"text\" name=\"PandaMessage\" value=\"A message for a panda.\"></div><div><input type=\"submit\" value=\"Hug a panda?\"></div></form></body></html>">


class HugAPanda(webapp.RequestHandler):
def post(self):
HugForAPanda = PandaHugs()
HugForAPanda.message = self.request.get('PandaMessage')
HugForAPanda.put()
self.redirect('/main')

application = webapp.WSGIApplication(
[('/', MainPage), ('/main', MainPage), ('/HugPanda', HugAPanda)],
debug=True)

def main():
run_wsgi_app(application)

if __name__ == "__main__":
main()

再次感谢!
-尼尔

最佳答案

上面一行中的语法无效。 (第15行看起来像)

self.response.out.write("<form action=\"/HugPanda\" method=\"post\"><div><input type=\"text\" name=\"PandaMessage\" value=\"A message for a panda.\"></div><div><input type=\"submit\" value=\"Hug a panda?\"></div></form></body></html>">

末尾的多余“>”应替换为“)”。

这是遵循python约定并将行长限制为79个字符的很好的理由。如果贵组织的标准配置为120,我不会提出异议,但是肯定不应该按照此处介绍的方式编写:)

在这种情况下,我建议用三重引号编写可读的html代码(即,正确缩进)。在您的情况下,我将使用单引号引起来,因此您不必转义每个“。”我只是在这里建议使用单引号以避免混淆,但是我相信在这种情况下“”也可以使用。

即。
self.response.out.write('''<html>
<body>
<h6>Panda has %s hugs!</h6>
<form action="/HugPanda" method="post">
<div>
<input type="text" name="PandaMessage" value=
"A message for a panda.">
</div>
<div>
<input type="submit" value="Hug a panda?">
</div>
</form>
</body>
</html>''' % Adder)

刚刚在重写代码后注意到html中的一些错误,应该用'/>'来关闭输入标签。好的样式可以在不使用任何工具的情况下为避免错误发挥很大的作用!

http://www.python.org/dev/peps/pep-0008/

关于python - Google App Engine Python : Class Definition “Invalid Syntax” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8337349/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com