Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.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 尽管pyramid中的类存在函数,但未获取属性错误_Python_Pyramid - Fatal编程技术网

Python 尽管pyramid中的类存在函数,但未获取属性错误

Python 尽管pyramid中的类存在函数,但未获取属性错误,python,pyramid,Python,Pyramid,下面是视图文件,我在其中调用该方法检查密码是否匹配,但尽管该方法已定义,但我收到以下错误: AttributeError:“用户”对象没有属性“verifyPassword” 视图.py @view_config(route_name='home',request_method="POST",renderer='templates/index.jinja2') def homepage(request): message="" status="" if request.p

下面是视图文件,我在其中调用该方法检查密码是否匹配,但尽管该方法已定义,但我收到以下错误:

AttributeError:“用户”对象没有属性“verifyPassword”

视图.py

@view_config(route_name='home',request_method="POST",renderer='templates/index.jinja2')
def homepage(request):
    message=""
    status=""
    if request.params.get('submit'):
        email=request.params.get('email')
        password=request.params.get('password')
        user=UserServices.by_Email(email)
        if user and user.verifyPassword(password):
            status="Success login"

        status="Error Login"
    return dict(
        status=status
verifyPassword函数在模型中定义 models.py这里我只是发布了类定义,所有必要的导入都完成了:

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    email = Column(Unicode(255), unique=True, nullable=False)
    password = Column(Unicode(255), nullable=False)
    group=Column(Text)

    def verifyPassword(self, password):
        return self.password==password
下面是通过电子邮件获取用户的脚本:

from ..models import DBSession
from ..models import User

class UserServices(object):
    @classmethod
    def by_Email(cls, email):
        return DBSession.query(User).filter(User.email == email).first()

在这种情况下,您需要学习如何使用pdb或debugtoolbar单步执行代码,并查看用户对象的外观,这可能会告诉您发生了什么