Thermos is 'n eenvoudige Django-agtige gebruiker-bestuur stelsel geskryf in Python en is ontwerp om gebruik te word met bottle.py, SQLAlchemy en repoze.what.
Voorbeeld
uit bottel invoer roete, hardloop, app, kry, post, aborteer, versoek, ontfout
uit bottel invoer sjabloon, lei
van repoze.what.plugins.quickstart invoer setup_sql_auth
van thermos.auth.models invoer Gebruiker, groep, toestemming ThermosBase, vertalings
van sqlalchemy invoer create_engine
van sqlalchemy.orm invoer sessionmaker
invoer te meld, sys
invoer os
invoer pprint
get ('/')
def wortel ():
& Nbsp; identiteit = request.environ.get ('repoze.who.identity')
& Nbsp; as identiteit is Geen:
& Nbsp; return "
Nie ingeteken Teken ."
& Nbsp; gebruiker = identity.get ('repoze.who.userid')
& Nbsp; return ". Gister as% s Teken "% (gebruiker)
route ('/ login')
def login ():
& Nbsp; came_from = request.params.get ("came_from") of "/"
& Nbsp; terugkeer sjabloon ("login", came_from = came_from)
route ('/ welcome_back')
def post_login ():
& Nbsp; identiteit = request.environ.get ('repoze.who.identity')
& Nbsp; as identiteit is Geen:
& Nbsp; return ".
Gebruikersnaam of wagwoord verkeerd is Teken "
& Nbsp; came_from = request.params.get ("came_from") of "/"
& Nbsp; return "
Jy is nou aangeteken in Teken
."route ('/ see_you_later')
def post_login ():
& Nbsp; return "
Jy is nou uitgeteken Home
."def add_auth (app, sessie):
& Nbsp; terugkeer setup_sql_auth (app = app, user_class = Gebruiker, group_class = Group,
& Nbsp; permission_class = Toestemming, dbsession = sessie,
& Nbsp; post_login_url = '/ welcome_back', post_logout_url = '/ see_you_later',
& Nbsp; vertalings = vertalings)
& Nbsp;
log_stream = Geen
As os.environ.get ('WHO_LOG'):
& Nbsp; log_stream = sys.stdout
enjin = create_engine ('sqlite: ///: geheue:', eggo = False)
ThermosBase.metadata.create_all (enjin)
Sessie = sessionmaker (bind = enjin)
sessie = Sessie ()
middleware = add_auth (app (), sessie)
bestuurders = Group (u'admins ')
session.add (bestuurders)
admin = Gebruiker (u'admin ')
admin.set_password ('admin')
admin.groups.append (bestuurders)
session.add (admin)
session.commit ()
hardloop (app = middleware, gasheer = '0.0.0.0', port = 8080, reloader = True)
Vereistes :
- Python
Kommentaar nie gevind