3

我学习使用flask-peewee与那里的教程一样,我应用了这个脚本(app.py):

import datetime
from flask import Flask
from flask_peewee.auth import Auth
from flask_peewee.db import Database
from peewee import *
from flask_peewee.admin import Admin



# configure our database
DATABASE = {
    'name': 'exampleappusi.db',
    'engine': 'peewee.SqliteDatabase',
}
DEBUG = True
SECRET_KEY = 'ssshhhh'

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

# instantiate the db wrapper
db = Database(app)


class Note(db.Model):
    message = TextField()
    created = DateTimeField(default=datetime.datetime.now)


# create an Auth object for use with our flask app and database wrapper
auth = Auth(app, db)

admin = Admin(app, auth)
admin.register(Note)

admin.setup()

if __name__ == '__main__':
    auth.User.create_table(fail_silently=True)
    Note.create_table(fail_silently=True)

    app.run(host='0.0.0.0')

直到这一部分:

我们现在有一个正常运行的管理站点!当然,我们需要一个用户登录,所以在应用程序旁边的目录中打开一个交互式 python shell 并运行以下命令:

作为本教程中的一个,我们在 python shell 中执行(我知道我们这样做是为了添加用户并以手动方式传递):

>> from auth import User
>> admin = User(username='admin', admin=True, active=True)
>> admin.set_password('admin')
>> admin.save()

问题是执行“>> from auth import User”时出现错误,这意味着没有名为 auth 的模块。当然,在这种情况下我们需要 auth.py ,但是 auth.py 应该是什么?

谢谢。

4

2 回答 2

3

您的模块已命名app,因此您应该在那里导入auth

>> from app import auth
>> User = auth.User
>> admin = User(username='admin', admin=True, active=True)
>> admin.set_password('admin')
>> admin.save()
于 2013-06-27T16:00:15.487 回答
0

您可以创建一个 auth.py 文件:

auth.py(与 app.py 相同的目录)

from flask_peewee.auth import Auth
from app import app, db

auth = Auth(app, db)

您还需要一个 models.py 来创建一个用户:

https://github.com/coleifer/flask-peewee/blob/master/example/models.py

于 2013-06-27T16:06:30.027 回答