У меня есть приложение, которое принимает некоторые параметры через форму HTML, а затем создает объект модели. Проблема в том, что, что бы я ни пытался, я получаю ошибку, подобную этой:
BadValueError: Property xxx must be a list
это модель:
xxx = db.ListProperty(int)
это предложение используется для получения списка:
xxx = self.request.get('xxx')
Я полагаю, что HTML-форма возвращает строку, когда я нажимаю кнопку отправки. Итак, как бы я мог получить список из ввода type = "text" в HTML-форме? Если я напишу 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('/')
Является ли это оптимальным способом получения пользовательского ввода для создания сущности модели и как я могу исправить это, чтобы он получал список и записывал его в атрибуты моделей?