python from tg import expose, redirect, validate, flash, request, response from tg.controllers import TGController from tg import predicates class RootController(TGController): @expose('myapp.templates.login') def login(self, came_from=errorcame_from): return dict(page='login', error='', came_from=came_from) @validate(schema=LoginForm(), form='login') @expose() def post_login(self, came_from=errorcame_from, **kwargs): login_user(request.environ, kwargs['user']) flash("Logged in successfully") redirect(came_from) @expose('myapp.templates.logout') def logout(self): logout_user(request.environ) flash("Logged out successfully") redirect('/') python from tg import expose, redirect, validate, flash, request, response from tg.controllers import TGController from tg import predicates class SecretController(TGController): @expose('myapp.templates.secret') @predicates.has_permission('admin') def secret_page(self): return dict(page='secret') @expose('myapp.templates.admin') @predicates.in_group('admin') def admin_page(self): return dict(page='admin') python from sqlalchemy import Column, Integer, Unicode from sqlalchemy.orm import validates class User(DeclarativeBase): __tablename__ = 'users' id = Column(Integer, primary_key=True) username = Column(Unicode(255), unique=True, nullable=False) password = Column(Unicode(255), nullable=False) @validates('password') def validate_password(self, key, password): if len(password) < 6: raise ValueError("Password should be at least 6 characters long.") return password


上一篇:
下一篇:
切换中文