tet.view package
View utilities and base classes for Tet applications.
This module provides view-related utilities including:
view_config- Extended Pyramid view configuration decoratorexpose- Decorator for exposing controller methods as viewsBaseController- Base class for traversal-based controllersServiceViews- Base class for service-based view classes
Example
Using the expose decorator with controllers:
from tet.view import BaseController, expose
class UserController(BaseController):
@expose(renderer="json")
def index(self):
return {"users": []}
@expose(renderer="json")
def profile(self):
return {"user": "john"}
Using ServiceViews for dependency injection:
from tet.view import ServiceViews
from pyramid.view import view_config
class UserViews(ServiceViews):
@view_config(route_name="users", renderer="json")
def list_users(self):
# self.request and self.context are available
return {"users": []}
- class tet.view.BaseController[source]
Bases:
objectBase class for traversal-based controllers.
Supports nested controllers as class attributes and custom lookup via
_lookupmethod.
- class tet.view.ServiceViews(request: Request)[source]
Bases:
RequestScopedBaseServiceBase class for view classes with dependency injection support.
Provides
self.requestandself.contextattributes.
- class tet.view.expose(**settings)[source]
Bases:
objectDecorator for exposing controller methods as views.
Use on methods of
BaseControllersubclasses. The method name becomes the view name (indexbecomes the default view).- venusian = <module 'venusian' from '/home/docs/checkouts/readthedocs.org/user_builds/tet/envs/latest/lib/python3.12/site-packages/venusian/__init__.py'>
- class tet.view.view_config(**settings)[source]
Bases:
view_configExtended Pyramid view_config decorator.