web2py:未定义全局名称“crud”

问题描述 投票:0回答:3

我目前正在学习 web2py 教程,系统要求我附加到我的controls/default.py:

def entry_post():
"""returns a form where the can entry a post"""
form = crud.create(db.post)
return dict(form=form)

这很好,但如果我尝试访问:mywebsite/app/default/entry_post,我会收到票证错误: 全局名称“crud”未定义

现在,我已经阅读了 web2py 文档,并且知道 crud.create(db.table) 是有效的语法,那么为什么会发生这种情况?

谢谢您的回答

python web2py
3个回答
4
投票

顺便说一句。 Crud 是一个旧的 API,我们不再支持。

form = crud.create(db.post)

应重写为

form = SQLFORM(db.post).process()

0
投票

Crud
必须导入并实例化:

from gluon.tools import Crud
crud = Crud(db)

这通常在模型文件中完成,因此它可以在任何控制器中使用。


-1
投票

非常好,谢谢! Dejo el ejemplo de como sería en los ejercicios del libro:“web2py 应用程序开发手册”(Mariano Reingart、Bruno Cezar Rocha 等)

En Default.py...

#form = crud.create(db.company, next='公司') <-- NO!!

form = SQLFORM(db.company, next='公司')

© www.soinside.com 2019 - 2024. All rights reserved.