tet.view package

View utilities and base classes for Tet applications.

This module provides view-related utilities including:

  • view_config - Extended Pyramid view configuration decorator

  • expose - Decorator for exposing controller methods as views

  • BaseController - Base class for traversal-based controllers

  • ServiceViews - 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: object

Base class for traversal-based controllers.

Supports nested controllers as class attributes and custom lookup via _lookup method.

class tet.view.ServiceViews(request: Request)[source]

Bases: RequestScopedBaseService

Base class for view classes with dependency injection support.

Provides self.request and self.context attributes.

class tet.view.expose(**settings)[source]

Bases: object

Decorator for exposing controller methods as views.

Use on methods of BaseController subclasses. The method name becomes the view name (index becomes 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_config

Extended Pyramid view_config decorator.