0

構文エラー:

msg = "keyword can't be an expression"
      offset = None
      print_file_and_line = None
      text = 'data = data(name and mood=self.request.POST)\n'

データストアに名前、気分、日付のプロパティを持つ「Visitor」エンティティがあり(index.yamlファイルは明らかに機能している)、コンソールで明らかなようにフォームデータがデータストアに送信されていないため、ここにコードの多くを投稿していますクエリ:

SELECT name FROM Visitor
              ^ SyntaxError: invalid syntax

次の最後のセクションは、修正されたGoogleチュートリアルから何をすべきかを推測しています。私はそれが間違っていることを知っていますが、あなたが私がやろうとしていることを見てくれることを願っています:

class Visitor(db.Model):

    name = db.StringProperty(required=1)
    mood = db.StringProperty(choices=["Good","Bad","Fair"]) # this is Radio button
    date = db.DateTimeProperty(auto_now_add=True)

class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.out.write("""<html><body>
        <form action="/" method="post">
            <p>First Name: <input type="text" name="name"/></p>   # text
            <p><input type="radio" name="mood" value="good">Good</p>  # radio button v 
            <p><input type="radio" name="mood" value="bad">Bad</p>
            <p><input type="radio" name="mood" value="fair">Fair</p>
            <p><input type="submit"value="Process"></p>
        </form></body></html>""")  
    def post(self):
        name = self.request.get("name")
        mood = self.request.get("mood")
        data = data(name and mood=self.request.POST) # < < ^ ^ PROBLEM(S)
        if data.is_valid():
            Visitor = data.save(commit=False)
            Visitor.put()

希望の目標を達成するための助けを事前に感謝します。

4

1 に答える 1

2

あなたが指摘したように、あなたの問題はこの行にあります

data = data(name and mood=self.request.POST) 

構文エラーは、式で割り当てを実行しようとしているためです。

mood=self.request.POST
#"name and mood" is a logical expression which will return 
#"mood" if bool(name) is True and bool(mood) is True
#Otherwise it returns the first False value.
data=data(name and mood)  

もちろん、これも面白いです。なぜなら、データはおそらく呼び出し可能であり、その結果に置き換えているからです...

また、データはどこにも定義されていません(私たちが見ることができます)...したがって、1つの構文エラーを取り除きましたが、スクリプトには(おそらく)他の問題が潜んでいます。

于 2012-06-14T15:02:44.043 に答える