在web2py中,我创建了一个名为imageblog的新应用程序,默认情况下我在模型中有2个模型:
db.py
menu.py
coffee.py #this is new one created by me in models i made some tables inside this too
如果我使用网址
http://127.0.0.1:8000/imageblog/appadmin/
我可以看到db.py模型的appadmin,但我的问题是我创建了另一个名为的模型 coffee.py如何在appadmin中打开coffee.py? 我试过了:
http://127.0.0.1:8000/imageblog/coffee/appadmin
我输出为:“无效功能(咖啡/ appadmin)” 但没有运气。 appadmin仅适用于db.py ???
=============================================== ===================================
所以我研究了一点,每个人都告诉我,我应该能够从appadmin访问所有模型,所以我认为它可能是我的代码做错了所以我在coffee.py中粘贴模型:< / p>
db = DAL("sqlite://storage.sqlite")
db.define_table('cimage',
Field('title', unique=True),
Field('file', 'upload'),
format = '%(title)s')
在appadmin中我得到以下内容:
可用的数据库和表
db.auth_user New Record
db.auth_group New Record
db.auth_membership New Record
db.auth_permission New Record
db.auth_event New Record
db.auth_cas New Record
答案 0 :(得分:1)
在appadmin中,您将能够访问任何模型文件中定义的任何模型的数据库表。
更新(根据发布到web2py用户组的信息):
问题是你在coffee.py和db.py中定义db = DAL(...)
。因为db.py位于coffee.py之后,所以coffee.py中定义的db
对象只是被db.py中定义的对象替换,因此coffee.py中的所有模型都不可用于任何控制器,包括appadmin控制器。
您应该在运行的第一个模型文件中定义db
对象一次(模型文件以字母数字顺序运行)。