Прежде всего, я должен сказать, что я как бы новичок пользователя web2Py. У меня проблема, которая кажется легким решением, но все, что я пытаюсь, кажется, терпит неудачу. Я хочу нажать на изображение, и когда он его выбирает, он дает значение True в базе данных, а когда я «unclick» его, он дает значение False.Web2Py добавляет значения в базу данных при щелчке изображения
Я использую web2py в качестве основы, и у меня есть следующие базы данных:
db.define_table(
'interestFood',
Field('Tacos', 'boolean', default=False),
Field('Salad', 'boolean', default=False),
Field('Cheeseburger', 'boolean', default=False),
Field('Pizza', 'boolean', default=False),
Field('Sushi', 'boolean', default=False),
Field('Breakfast', 'boolean', default=False))
db.interestFood.id.writable = db.interestFood.id.readable = False
И у меня есть следующий контроллер:
def createProfile_interests():
if (db(db.interestFood.id==auth.user.id).count()!=1):
db.interestFood.insert(id=auth.user.id)
interest1=db(db.interestFood.id==auth.user.id).select()
print(interest1)
return dict(interest1=interest1)
А вот HTML фрагмент кода:
{{Tacos=False
Salad=False
Sushi=False
Cheeseburger=False
Pizza=False
Breakfast=False}}
<input type="image" name = "food" id="0" src="http://127.0.0.1:8000/WagMore/static/_2.14.6/images/taco.png" onclick=interests(0) onclick="{{interest1.update(Tacos=True)}}">
<input type="image" name = "food" id="1" src="http://127.0.0.1:8000/WagMore/static/_2.14.6/images/pizza.png" onclick=interests(1) onclick="{{interest1.update(Pizza=True)}}">
<input type="image" name = "food" id="2" src="http://127.0.0.1:8000/WagMore/static/_2.14.6/images/salad.png" onclick=interests(2) onclick="{{interest1.update(Salad=True)}}"><br><br>
<input type="image" name = "food" id="3" src="http://127.0.0.1:8000/WagMore/static/_2.14.6/images/burger.png" onclick=interests(3) onclick="{{interest1.update(Cheeseburger=True)}}">
<input type="image" name = "food" id="4" src="http://127.0.0.1:8000/WagMore/static/_2.14.6/images/sushi.png" onclick=interests(4) onclick="{{interest1.update(Sushi=True)}}">
<input type="image" name = "food" id="5" src="http://127.0.0.1:8000/WagMore/static/_2.14.6/images/breakfast.png" onclick=interests(5) onclick="{{interest1.update(Breakfast=True)}}">
Функция интересов() является ограничением, которое позволяет пользователю выбирать только два изображения.
Я пытался сделать что-то вроде этого:
<input type="image" name = "food" id="0" src="http://127.0.0.1:8000/WagMore/static/_2.14.6/images/taco.png" onclick=interests(0) onclick="
{{
if Tacos==False:
interest1.update(Tacos=True)
else:
interest1.update(Tacos=False)
}}">
Но это не работает. Я работаю над этим около двух дней. Любая идея о том, как это сделать? Я ценю это!