0

以下代码工作正常。

运行.py

import datetime
from flask import Flask
from peewee import TextField, DateTimeField
from flask_peewee.db import Database
from flask_peewee.auth import Auth
from flask_peewee.admin import Admin, ModelAdmin

# configure database
DATABASE = {
    'name': 'surveyApp.db',
    'engine': 'peewee.SqliteDatabase',
}
DEBUG = True
CSRF_ENABLED = True
SECRET_KEY = 'you-will-never-guess'

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

db = Database(app)

# from model.user_infos import Note, NoteAdmin

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

class NoteAdmin(ModelAdmin):
    columns = ('message', 'created',)

# create an Auth object for use with our flask app and database wrapper
auth = Auth(app, db)
admin = Admin(app, auth)
admin.register(Note, NoteAdmin)
admin.setup()

if __name__ == '__main__':
    app.run()  

我正在尝试分离模型并在管理员中注册它。但它正在产生错误。所有模型都在“模型”文件夹中。

产生错误的代码:

run.py(修改)

import datetime
from flask import Flask
from peewee import TextField, DateTimeField
from flask_peewee.db import Database
from flask_peewee.auth import Auth
from flask_peewee.admin import Admin, ModelAdmin

# configure database
DATABASE = {
    'name': 'surveyApp.db',
    'engine': 'peewee.SqliteDatabase',
}
DEBUG = True
CSRF_ENABLED = True
SECRET_KEY = 'you-will-never-guess'

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

db = Database(app)

auth = Auth(app, db)
admin = Admin(app, auth)

from model.user_infos import Note, NoteAdmin # GENERATES IMPORT ERROR
admin.register(Note, NoteAdmin)
admin.setup()

if __name__ == '__main__':
    app.run()  

模型/user_infos.py

from run import db, admin

import datetime
from peewee import TextField, DateTimeField
from flask_peewee.admin import ModelAdmin

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

class NoteAdmin(ModelAdmin):
    columns = ('message', 'created',)

模型文件夹也包含 __init__.py

4

1 回答 1

1

您有一个循环导入。

我写了一篇博文: http: //charlesleifer.com/blog/structuring-flask-apps-a-how-to-for-those-coming-from-django/

或者您可以从示例应用程序中进行操作:https ://github.com/coleifer/flask-peewee/tree/master/example

于 2013-08-11T16:30:36.053 回答