Я пытаюсь позволить пользователю выбирать хобби из списка хобби, который предоставляется в виде контрольного списка.Когда они выбраны, выбранные увлечения попадают в пользовательскую таблицу.Я хотел бы, чтобы мой флажок отображал хобби пользователя, как будто хобби выбрано, оно проверено, а если нет, то не проверено.Пользователь может обновить свои хобби, установив или сняв флажок.
У меня возникают проблемы с отображением текущего состояния пользовательских хобби в проверенной или непроверенной форме и обновлением из него пользовательской таблицы хобби.
class InfoPage(BasePage):
title = 'One Macnica'
def get(self):
self.write_page_header()
hobbies_list = Hobby.all().fetch(100)
template_values = {"hobbies_list": hobbies_list}
path = os.path.join(os.path.dirname(__file__), 'templates')
path = os.path.join(path, 'hobby.html')
self.response.out.write(template.render(path, template_values))
self.write_page_footer()
def post(self):
self.write_page_header()
hobbies_list = Hobby.all().fetch(100)
if self.request.get("hobby"):
hobby_name = self.request.get('hobby')
new_hobby = Hobby(name=hobby_name.strip(), key_name = hobby_name.strip())
#fetch attendee and add new hobby
attendee_query = Attendee.gql('WHERE email = :1',
users.get_current_user().email())
attendee = attendee_query.fetch(1)
attendee = attendee.pop()
hobbies = attendee.hobbies
hobbies.append(new_hobby.key())
attendee.hobbies = hobbies
#eliminate the dupliate
hobbies = list(set(hobbies))
attendee.hobbies = hobbies
attendee.put()
template_values = {"hobbies_list": hobbies_list}
path = os.path.join(os.path.dirname(__file__), 'templates')
path = os.path.join(path, 'hobby.html')
self.response.out.write(template.render(path, template_values))
self.write_page_footer()
hobby.html является следующим
<h1 id="header">One Macnica</h1>
<p>Welcome to One Macnica, a place dedicated to connecting Macnica as 1.
</p>
<form name="hobby" action="/hobby" method="post">
{% for hobby in hobbies_list %}
<input type="checkbox" name = "{{hobby.name}}"/>{{hobby.name}}<br/>
{% endfor %}
<input type="submit" value="Select Hobbies">
</form>
В настоящее время я думаю о создании списка для контрольного списка хобби, который сравнивает весь список хобби со списком хобби участника и, если он существует, вернуть проверено, а если нет, вернуть ноль.У меня проблемы с кодированием, и я не знаю, лучший ли это способ.
любая помощь будет оценена.