Python 将appadmin用于web2py中db.py以外的其他模型
在web2py中,我创建了一个名为imageblog的新应用程序,在models on default中,我有两个模型:Python 将appadmin用于web2py中db.py以外的其他模型,python,web2py,Python,Web2py,在web2py中,我创建了一个名为imageblog的新应用程序,在models on default中,我有两个模型: db.py menu.py coffee.py #this is new one created by me in models i made some tables inside this too 如果我使用url http://127.0.0.1:8000/imageblog/appadmin/ 我可以看到db.py模型的appadmin,但我的问题是我创建了另一
db.py
menu.py
coffee.py #this is new one created by me in models i made some tables inside this too
如果我使用url
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
我得到的输出是:“无效函数(coffee/appadmin)”
但是没有运气。
appadmin是否仅适用于db.py
==================================================================================
因此,当我进一步研究时,每个人都告诉我,我应该能够从appadmin访问所有模型,因此我认为可能是我的代码出错,因此我将模型粘贴到coffee.py中:
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
在appadmin中,您将能够访问任何模型文件中定义的任何模型的数据库表 更新(基于发布到web2py用户组的信息): 问题是您在coffee.py和db.py中都定义了
db=DAL(…)
。由于db.py位于coffee.py之后,因此coffee.py中定义的对象将被db.py中定义的对象替换,因此coffee.py中的任何模型都不适用于任何控制器,包括appadmin控制器
您应该只在运行的第一个模型文件(模型文件以字母数字顺序运行)中定义一次
db
对象。i字母数字顺序是所有这些混乱的主要原因,因为我尝试在coffee中不定义db,但c在d(coffe/db)之前,所以它导致了错误。非常感谢。