Ошибка колбы: у объекта NoneType нет атрибута «пароль» - PullRequest
0 голосов
/ 30 сентября 2019
class Register(db.Model):
    __tablename__ = 'register'
    register_id = db.Column(db.Integer, primary_key=True)
    firstname = db.Column(db.String(50), nullable=False)
    lastname = db.Column(db.String(50), nullable=False)
    gender = db.Column(db.String(20), nullable=False)
    occupation = db.Column(db.String(20), nullable=False)
    dateofbirth = db.Column(db.String(50), nullable=True)
    address = db.Column(db.String(255), nullable=False)
    contact = db.Column(db.String(20), nullable=False)
    email_id = db.Column(db.String(20), unique=True, nullable=False)
    password = db.Column(db.String(20), nullable=False)

это функция входа в систему

@app.route("/login",methods=['GET','POST'])
def login_post():
    email = request.form.get('email')
    password = request.form.get('pass')
    user = Register.query.filter_by(email_id=email).first()
    print("password",password)
    print("email",email)
    print(user.password)
    if not user or not check_password_hash(user.password, password):
        flash('Please check your login details and try again.')
        return redirect(url_for('register'))
    login_user(user)
    return redirect(url_for('index'))
    return render_template('login.html')

это ошибка

    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 2463, in __call__
    return self.wsgi_app(environ, start_response)
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 2449, in wsgi_app
    response = self.handle_exception(e)
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 1866, in 
    handle_exception
    reraise(exc_type, exc_value, tb)
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request() 
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 1951, in 
    full_dispatch_request
    rv = self.handle_user_exception(e)
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 1820, in 
    handle_user_exception
    reraise(exc_type, exc_value, tb)
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 1949, in 
    full_dispatch_request
    rv = self.dispatch_request()
    File "C:\Users\dhruv\Desktop\Farmer\venv\lib\site-packages\flask\app.py", line 1935, in 
    dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
    File "C:\Users\dhruv\Desktop\Farmer\Main.py", line 46, in login_post
    print(user.password)
    AttributeError: 'NoneType' object has no attribute 'password'

как ее решить? Я создавал аутентификацию при входе в систему, где эта строка user = Register.query.filter_by(email_id=email).first() выдаёт мне эту ошибку. в чем здесь проблема? это из-за файлов cookie браузера? или что-нибудь с версией Python? Я использую последнюю версию Python 3.7 и кодирования в pycharm на localhost

...