diff --git a/pytest_bdd_example/book/admin.py b/pytest_bdd_example/book/admin.py new file mode 100644 index 0000000..ea78f29 --- /dev/null +++ b/pytest_bdd_example/book/admin.py @@ -0,0 +1,6 @@ +from flask.ext.admin import Admin +from flask.ext.admin.contrib.sqlamodel import ModelView +from pytest_bdd_example.book import Book, db + +admin = Admin() +admin.add_view(ModelView(Book, db.Session(), 'books', endpoint='books')) \ No newline at end of file diff --git a/pytest_bdd_example/book/blueprint.py b/pytest_bdd_example/book/blueprint.py index 672ea6a..a5dbb14 100644 --- a/pytest_bdd_example/book/blueprint.py +++ b/pytest_bdd_example/book/blueprint.py @@ -1,6 +1,7 @@ from flask import Blueprint from .models import db +from .admin import admin book = Blueprint('book', __name__, template_folder='../') @@ -8,3 +9,4 @@ book = Blueprint('book', __name__, template_folder='../') @book.record_once def on_registered(state): db.init_app(state.app) + admin.init_app(state.app) diff --git a/pytest_bdd_example/book/models.py b/pytest_bdd_example/book/models.py index c8a6c6d..ffb23a9 100644 --- a/pytest_bdd_example/book/models.py +++ b/pytest_bdd_example/book/models.py @@ -9,6 +9,14 @@ association_table = db.Table('association', Base.metadata, db.Column('right_id', db.Integer, db.ForeignKey('right.id')) ) +class Author(db.Model): + id = db.Column(db.Integer, primary_key=True) + + first_name = db.Column(db.String(30)) + last_name = db.Column(db.String(30)) + sur_name = db.Column(db.String(30)) + + class Book(db.Model): id = db.Column(db.Integer, primary_key=True) @@ -16,11 +24,3 @@ class Book(db.Model): description = db.Column(db.Text) authors = db.relationship("Author", secondary=association_table, backref="books", order_by="Author.id") - - -class Author(db.Model): - id = db.Column(db.Integer, primary_key=True) - - first_name = db.Column(db.String(30)) - last_name = db.Column(db.String(30)) - sur_name = db.Column(db.String(30)) diff --git a/pytest_bdd_example/dashboard/app.py b/pytest_bdd_example/dashboard/app.py index ad5d945..728f6e4 100644 --- a/pytest_bdd_example/dashboard/app.py +++ b/pytest_bdd_example/dashboard/app.py @@ -1,12 +1,9 @@ -import os from flask import Flask -from flask.ext.admin import Admin -from flask.ext.admin.contrib.sqlamodel import ModelView from pytest_bdd_example.dashboard import settings from pytest_bdd_example.auth import auth -from pytest_bdd_example.book import book, Author, Book, db as book_db +from pytest_bdd_example.book import book app = Flask( @@ -19,6 +16,4 @@ app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT' app.register_blueprint(auth, url_prefix='/auth') - -admin = Admin(app) -admin.add_view(ModelView(Book, book_db.Session(), 'books', endpoint='books')) \ No newline at end of file +app.register_blueprint(book, url_prefix='/book') \ No newline at end of file