Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将appadmin用于web2py中db.py以外的其他模型_Python_Web2py - Fatal编程技术网

Python 将appadmin用于web2py中db.py以外的其他模型

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,但我的问题是我创建了另一

在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,但我的问题是我创建了另一个名为 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)之前,所以它导致了错误。非常感谢。