我試圖讓用戶從覈對清單的形式提供的業餘愛好列表中挑選業餘愛好。當他們被選中時,所選擇的愛好會進入用戶表。我想讓我的複選框顯示用戶的興趣愛好,就好像選擇了興趣愛好一樣,它會被檢查,如果沒有檢查它。用戶可以通過選中或取消選中複選框來更新他們的業餘愛好。
我無法以選中或未選中的形式顯示用戶興趣愛好的當前狀態,並從中更新用戶興趣表。顯示選中元素爲複選框的複選框
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>
目前我正在考慮讓.584清單列表,所有的業餘愛好列表進行比較,以參加者的愛好列表中,如果有,返回檢查,如果不返回null。 我實際上在編碼時遇到麻煩,不知道這是否是最好的方法。
任何幫助將不勝感激。
您在這裏使用哪種模板語言? –
我使用的是GAE中的django – minarai