Sql 我能';t生成基于crud的搜索表单。为什么它不起作用?
我的代码: 模型/db.pySql 我能';t生成基于crud的搜索表单。为什么它不起作用?,sql,search,crud,web2py,Sql,Search,Crud,Web2py,我的代码: 模型/db.py .... dbmy = DAL('mysql://user:user@localhost/test',migrate_enabled=False) dbmy.define_table('Firewall', Field('disabled','text'), Field('src_port_first','integer'), Field('src_por
....
dbmy = DAL('mysql://user:user@localhost/test',migrate_enabled=False)
dbmy.define_table('Firewall', Field('disabled','text'),
Field('src_port_first','integer'),
Field('src_port_last','integer'),
Field('port_first','integer'),
Field('port_last','integer'),
Field('type','text'),
Field('Src_op','text'),
Field('src_ipaddr_first','text'),
Field('src_ipaddr_last','text'),
Field('src_netmask','text'),
Field('Dst_op','text'),
Field('dst_ipaddr_first','text'),
Field('dst_ipaddr_last','text'),
Field('dst_netmask','text'),
Field('Action','text'))
dbmy.commit()
控制器/select.py:
# -*- coding: utf-8 -*-
from gluon.tools import Crud
crud=Crud(dbmy)
def search():
return dict(form=crud.search(dbmy.Firewall))
如果我尝试127.0.0.1:8000/[app]/select/search/Firewall
URL,页面会写以下内容:
无效视图(select/search.html)
当控制器操作返回字典时,web2y需要一个关联的视图文件——在本例中,它将查找/views/select/search.html。您必须创建该视图 或者,您可以在这种情况下启用。注意,在scaffolding应用程序中,所有通用视图仅对本地请求启用,但在其他情况下禁用(出于安全考虑) 您还可以通过
response.view
指定不同的视图
最后,给定控制器代码,没有理由在URL中添加“防火墙”,因为search
函数已经硬编码以搜索db.Firewall
表(事实上,search
函数完全忽略URL中的“防火墙”)