pyramid.view
¶
-
render_view_to_response
(context, request, name='', secure=True)[source]¶ Call the view callable configured with a view configuration that matches the view name
name
registered against the specifiedcontext
andrequest
and return a response object. This function will returnNone
if a corresponding view callable cannot be found (when no view configuration matches the combination ofname
/context
/ andrequest
).If secure` is
True
, and the view callable found is protected by a permission, the permission will be checked before calling the view function. If the permission check disallows view execution (based on the current authorization policy), apyramid.httpexceptions.HTTPForbidden
exception will be raised. The exception’sargs
attribute explains why the view access was disallowed.If
secure
isFalse
, no permission checking is done.
-
render_view_to_iterable
(context, request, name='', secure=True)[source]¶ Call the view callable configured with a view configuration that matches the view name
name
registered against the specifiedcontext
andrequest
and return an iterable object which represents the body of a response. This function will returnNone
if a corresponding view callable cannot be found (when no view configuration matches the combination ofname
/context
/ andrequest
). Additionally, this function will raise aValueError
if a view function is found and called but the view function’s result does not have anapp_iter
attribute.You can usually get the bytestring representation of the return value of this function by calling
b''.join(iterable)
, or just usepyramid.view.render_view()
instead.If
secure
isTrue
, and the view is protected by a permission, the permission will be checked before the view function is invoked. If the permission check disallows view execution (based on the current authentication policy), apyramid.httpexceptions.HTTPForbidden
exception will be raised; itsargs
attribute explains why the view access was disallowed.If
secure
isFalse
, no permission checking is done.
-
render_view
(context, request, name='', secure=True)[source]¶ Call the view callable configured with a view configuration that matches the view name
name
registered against the specifiedcontext
andrequest
and unwind the view response’sapp_iter
(see View Callable Responses) into a single bytestring. This function will returnNone
if a corresponding view callable cannot be found (when no view configuration matches the combination ofname
/context
/ andrequest
). Additionally, this function will raise aValueError
if a view function is found and called but the view function’s result does not have anapp_iter
attribute. This function will returnNone
if a corresponding view cannot be found.If
secure
isTrue
, and the view is protected by a permission, the permission will be checked before the view is invoked. If the permission check disallows view execution (based on the current authorization policy), apyramid.httpexceptions.HTTPForbidden
exception will be raised; itsargs
attribute explains why the view access was disallowed.If
secure
isFalse
, no permission checking is done.
-
is_response
(ob)[source]¶ Return
True
ifob
implements the interface implied by View Callable Responses.False
if not.Warning
This function is deprecated as of Pyramid 1.1. New code should not use it. Instead, new code should use the
pyramid.request.Request.is_response()
method.
-
class
view_config
(**settings)[source]¶ A function, class or method decorator which allows a developer to create view registrations nearer to a view callable definition than use imperative configuration to do the same.
For example, this code in a module
views.py
:from resources import MyResource @view_config(name='my_view', context=MyResource, permission='read', route_name='site1') def my_view(context, request): return 'OK'
Might replace the following call to the
pyramid.config.Configurator.add_view()
method:import views from resources import MyResource config.add_view(views.my_view, context=MyResource, name='my_view', permission='read', 'route_name='site1')
The following keyword arguments are supported to
pyramid.view.view_config
:context
,permission
,name
,request_type
,route_name
,request_method
,request_param
,containment
,xhr
,accept
,header
,path_info
,custom_predicates
,decorator
,mapper
,http_cache
,match_param
,csrf_token
,physical_path
, andpredicates
.The meanings of these arguments are the same as the arguments passed to
pyramid.config.Configurator.add_view()
. If any argument is left out, its default will be the equivalentadd_view
default.An additional keyword argument named
_depth
is provided for people who wish to reuse this class from another decorator. The default value is0
and should be specified relative to theview_config
invocation. It will be passed in to the venusianattach
function as the depth of the callstack when Venusian checks if the decorator is being used in a class or module context. It’s not often used, but it can be useful in this circumstance. See theattach
function in Venusian for more information.See Adding View Configuration Using the @view_config Decorator for details about using
pyramid.view.view_config
.
-
class
view_defaults
(**settings)[source]¶ A class decorator which, when applied to a class, will provide defaults for all view configurations that use the class. This decorator accepts all the arguments accepted by
pyramid.config.view_config
, and each has the same meaning.See @view_defaults Class Decorator for more information.
-
class
notfound_view_config
(**settings)[source]¶ An analogue of
pyramid.view.view_config
which registers a not found view.The notfound_view_config constructor accepts most of the same arguments as the constructor of
pyramid.view.view_config
. It can be used in the same places, and behaves in largely the same way, except it always registers a not found exception view instead of a ‘normal’ view.Example:
from pyramid.view import notfound_view_config from pyramid.response import Response @notfound_view_config() def notfound(request): return Response('Not found, dude!', status='404 Not Found')
All arguments except
append_slash
have the same meaning aspyramid.view.view_config()
and each predicate argument restricts the set of circumstances under which this notfound view will be invoked.If
append_slash
isTrue
, when the notfound view is invoked, and the current path info does not end in a slash, the notfound logic will attempt to find a route that matches the request’s path info suffixed with a slash. If such a route exists, Pyramid will issue a redirect to the URL implied by the route; if it does not, Pyramid will return the result of the view callable provided asview
, as normal.See Changing the Not Found View for detailed usage information.
Note
This class is new as of Pyramid 1.3.
-
class
forbidden_view_config
(**settings)[source]¶ An analogue of
pyramid.view.view_config
which registers a forbidden view.The forbidden_view_config constructor accepts most of the same arguments as the constructor of
pyramid.view.view_config
. It can be used in the same places, and behaves in largely the same way, except it always registers a forbidden exception view instead of a ‘normal’ view.Example:
from pyramid.view import forbidden_view_config from pyramid.response import Response @forbidden_view_config() def notfound(request): return Response('You are not allowed', status='401 Unauthorized')
All arguments passed to this function have the same meaning as
pyramid.view.view_config()
and each predicate argument restricts the set of circumstances under which this notfound view will be invoked.See Changing the Forbidden View for detailed usage information.
Note
This class is new as of Pyramid 1.3.
-
class
static
(root_dir, cache_max_age=3600, package_name=None)[source]¶ Backwards compatibility alias for
pyramid.static.static_view
; it overrides that class’ constructor to passuse_subpath=True
by default. This class is deprecated as of Pyramid 1.1. Usepyramid.static.static_view
instead (probably with ause_subpath=True
argument).