HTMLフォームを介していくつかのパラメーターを取得し、モデルエンティティを作成するアプリケーションがあります。問題は、私が何をしようとしても、次のようなエラーが発生することです。
BadValueError: Property xxx must be a list
これはモデルです:
xxx = db.ListProperty(int)
これは、リストを取得するために使用される文です。
xxx = self.request.get('xxx')
送信ボタンを押すと、htmlフォームが文字列を返すと思います。では、html フォームの input type="text" からリストを取得するにはどうすればよいでしょうか? 私が 1,2 と書いた場合、それは大丈夫ではありません。
Python コードは、フォームを使用してページに挨拶を投稿する helloworld アプリケーションに似ています。違いは、テキストではなくリストを取得する必要があることです。
self.response.out.write("""
<form action="/sign" method="post">
<div><textarea name="content" rows="3" cols="60"></textarea></div>
<div><input type="submit" value="Sign Guestbook"></div>
</form>
</body>
</html>""")
class Guestbook(webapp.RequestHandler):
def post(self):
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get('content')
greeting.put()
self.redirect('/')
これは、ユーザー入力を取得してモデル エンティティを作成する最適な方法ですか? リストを取得してモデル属性に書き込むように修正するにはどうすればよいですか?