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

时间:2013-11-15 09:30:45

标签: python sqlite login flask flask-peewee

我目前正在尝试通过调整flask-peewee扩展程序(code here)中包含的示例应用程序的部分内容来构建应用程序。我现在可以注册并显示登录屏幕。当我输入错误的登录凭据时,我收到一条消息,指出登录凭据不正确(正如预期的那样)。但是当我输入正确的登录凭据时,我得到了一个巨大的追溯,我无法找到答案。

通常我会查看方法或模板以查看错误。然而,在这种情况下,几乎所有东西(方法和模板)都由peewee处理。

下面我将首先粘贴Traceback,然后按照我目前拥有的几个文件(按照评论中的要求)粘贴。任何可能出错的信息都非常受欢迎!

回溯:

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

我现在拥有的文件是:

  • main.py
  • app.py
  • auth.py
  • config.py
  • models.py

下面我将粘贴所有内容,为清楚起见,可省略一些内容:

main.py

from app import app
from models import *
from views import *
if __name__ == '__main__':
    app.run()

app.py

from flask import Flask
from flask_peewee.db import Database

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

db = Database(app)

auth.py

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

config.py

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

models.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)

0 个答案:

没有答案