views/item/index.html:
{{extend 'layout.html'}}
<h1>This is the item/index.html template</h1>
{{=LOAD(request.controller,'p_view_list.load')}}
views/p_view_list.html:
{{extend 'layout.html'}}
<form enctype="multipart/form-data" action="" method="post">
...
</form>
controllers/item.py:
def p_view_list():
for k,v in request.vars.items():
if k.startswith('need_'):
id = k.split('_')[-1]
item = db(db.Item.id == int(id)).select()[0]
item.update_record(need=('on' in v))
response.flash = "Saved"
items = db(db.Item.category==db.Category.id).select(db.Item.ALL)
#since this is ajax, this causes the response to get displayed
if response.flash: response.headers['web2py-component-
flash']=response.flash
return dict(items=items)
http://127.0.0.1:8000/list/item/p_view_list.load - works fine - I see
the form. .json also works.
http://127.0.0.1:8000/list/item/index - broken - It displays "invalid
function"
Any ideas why it displays 'invalid function'?
Also, If I change the LOAD statement to:
{{=LOAD(request.controller,'p_view_list')}} (and remove the 'extend
layout.html' line) it loads fine.
I asked this before, but what is the difference between the two?