2013-06-27 82 views
3

我學習使用flask-peewee。作爲教程there,我將此腳本(app.py):不能繼續像燒瓶peewee教程

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外殼,並運行以下命令:

作爲在本教程中,我們確實在Python Shell(我明白,我們這樣做以下操作以添加用戶,並通過手動方式):

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

問題是我得到「權威性,從導入用戶>>」,這意味着無命名驗證模塊錯誤時執行。當然,在這種情況下,我們需要auth.py,但auth.py應該是什麼?

謝謝。

回答

3

您的模塊名爲app,因此您應該在那裏導入auth

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

這個問題已經解決。但幾乎沒有修改,因爲仍然出現「user.mail可能不是NULL」的錯誤。所以用這個命令,工作很好。 '>> admin = User(username ='admin',email='[email protected]',admin = True,active = True)' 謝謝。 – hepidad