Flask登录导致密码错误(使用peewee)

2024-03-28 22:23:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试通过获取并调整flask-peewee扩展名(code here)中包含的示例应用程序的一部分来构建应用程序。我现在可以注册并显示登录屏幕。当我输入不正确的登录凭据时,会收到一条消息,说明登录凭据不正确(如预期)。但是当我输入正确的登录凭证时,我会得到一个巨大的回溯,从中我找不到答案。在

通常,我会查看方法或模板,看看有什么问题。然而,在本例中,几乎所有的东西(方法和模板)都由peewee处理。在

下面我将首先粘贴回溯,然后(按照注释中的要求)粘贴我当前拥有的两个文件。任何关于可能出错的信息都是非常欢迎的!在

回溯:

File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/Library/Python/2.7/site-packages/Flask-0.10-py2.7.egg/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Library/Python/2.7/site-packages/flask_peewee/auth.py", line 170, in login
form.password.data,
File "/Library/Python/2.7/site-packages/flask_peewee/auth.py", line 128, in authenticate
if not user.check_password(password):
File "/Library/Python/2.7/site-packages/flask_peewee/auth.py", line 25, in check_password
return check_password(password, self.password)
File "/Library/Python/2.7/site-packages/flask_peewee/utils.py", line 138, in check_password
salt, hsh = enc_password.split('$', 1)
ValueError: need more than 1 value to unpack

我现在拥有的文件是:

  • 在主.py在
  • 在应用程序副本在
  • 在授权副本在
  • 在配置.py在
  • 在模型.py在

下面我将粘贴所有的内容,其中有些内容为了清晰起见可以省略:

在主.py在

^{pr2}$

在应用程序副本在

from flask import Flask
from flask_peewee.db import Database

app = Flask(__name__)
app.config.from_object('config.Configuration')

db = Database(app)

在授权副本在

from flask_peewee.auth import Auth
from app import app, db
from models import User
auth = Auth(app, db, user_model=User)

在配置.py在

class Configuration(object):
    DATABASE = {
        'name': 'mydatabase.db',
        'engine': 'peewee.SqliteDatabase',
        'check_same_thread': False,
    }
    DEBUG = True
    SECRET_KEY = 'shhhh'

在模型.py在

from datetime import datetime
from flask_peewee.auth import BaseUser
from peewee import CharField, BooleanField, ForeignKeyField, TextField, DateTimeField, IntegerField
from app import db

class User(db.Model, BaseUser):
    username = CharField()
    password = CharField()
    name = CharField()
    registered = DateTimeField(default=datetime.now())
    active = BooleanField(default=False)

Tags: infrompyimportappflaskeggpackages