サーモスは、Pythonで書かれており、bottle.py、SQLAlchemyのとrepoze.whatで使用するように設計されたシンプルなDjangoのようなユーザ管理システムです。
の例の
ボトルの輸入経路から、実行し、アプリ、GET、POST、中止、リクエスト、デバッグ
ボトルのインポートテンプレートから、リダイレクト
repoze.what.plugins.quickstart輸入setup_sql_authから
thermos.auth.modelsインポートユーザーから、グループ、パーミッション、ThermosBase、翻訳
SQLAlchemyの輸入create_engineから
sqlalchemy.orm輸入sessionmakerから
インポートロギング、SYS
輸入OS
輸入PPRINT
@get( '/')
DEFのルート():
 アイデンティティ= request.environ.get( 'repoze.who.identity')
 アイデンティティがnoneの場合:
&NBSPは、リターン "
ログインしていません ユーザー名またはパスワードが正しくない これで、ログインしている これで、ログアウトされ、 の要件の
 ユーザー= identity.get( 'repoze.who.userid')
 戻り "。%sのとしてログイン
@route( '/ログイン')
DEFログイン():
  came_from = request.params.get( "came_from")または "/"
 戻りテンプレート( "ログイン"、came_from = came_from)
@route( '/ welcome_back')
DEF POST_LOGIN():
 アイデンティティ= request.environ.get( 'repoze.who.identity')
 アイデンティティがnoneの場合:
 戻り」。
  came_from = request.params.get( "came_from")または "/"
&NBSPは、リターン "
@route( '/ see_you_later')
DEF POST_LOGIN():
&NBSPは、リターン」
デフadd_auth(アプリ、セッション):
 戻りsetup_sql_auth(APP =アプリ、user_class =ユーザー、group_class =グループ、
  permission_class =許可、dbsession =セッション、
  POST_LOGIN_URL = '/ welcome_back'、post_logout_url = '/ see_you_later」、
 翻訳=翻訳)
 
log_stream =なし
os.environ.get( 'WHO_LOG')の場合:
  log_stream = sys.stdoutの
エンジン= create_engine( 'sqliteを:///:メモリ:'、エコー=偽)
ThermosBase.metadata.create_all(エンジン)
セッション= sessionmaker(バインド=エンジン)
セッション=セッション()
ミドルウェア= add_auth(APP()、セッション)
管理者=グループ(u'admins ')
session.add(管理者)
管理者=ユーザー(u'admin ')
admin.set_password( '管理者')
admin.groups.append(管理者)
session.add(管理者)
session.commit()
実行(APP =ミドルウェア、ホスト= '0.0.0.0」、ポート= 8080、リロード機能=真)
コメントが見つかりません