flask-peeweeの管理サイトを動かしてみる
flask-peeweeの提供する管理サイトがtwitter bootstrapを使っていて綺麗だったので、
サンプルを作って動かしてみました。
flask
軽量webframework。rubyでいうsinatra
http://flask.pocoo.org/
peewee
ORマッパーの一種。軽量。djangoと似たインターフェース
http://charlesleifer.com/docs/peewee/
flask-peewee
flask と peeweeとを統合するレイヤーを提供する
http://charlesleifer.com/docs/flask-peewee/
twitter-bootstrap
twitter謹製のcssフレームワーク
http://twitter.github.com/bootstrap/
以下コード
app.py
import datetime from flask import Flask, render_template from flaskext.auth import Auth from flaskext.admin import Admin, ModelAdmin from flaskext.db import Database from peewee import TextField, DateTimeField, CharField # configure our database DATABASE = { 'name': 'flask_peewee_sample.db', 'engine': 'peewee.SqliteDatabase', } DEBUG = True SECRET_KEY = '**********************' app = Flask(__name__) app.config.from_object(__name__) db = Database(app) # model class Post(db.Model): title = CharField() entry = TextField() created = DateTimeField(default=datetime.datetime.now) # for admin site class PostAdmin(ModelAdmin): columns = ('title', 'entry', 'created',) auth = Auth(app, db) admin = Admin(app, auth) admin.register(Post, PostAdmin) auth.register_admin(admin) admin.setup() if __name__ == '__main__': auth.User.create_table(fail_silently=True) Post.create_table(fail_silently=True) app.run()
実行時にテーブルが作成されます。
が、ログインするユーザーが無いので作る必要があります
インタプリタを開いて作成します
from app import auth admin = auth.User(username='admin', admin=True, active=True) admin.set_password('admin') admin.save()
以下にアクセスしてログインできます
http://127.0.0.1:5000/admin/
簡単でいいですね