# Werkzeug

# Important Terms

This page covers important terms used in the documentation and Werkzeug itself.

## WSGI

WSGI a specification for Python web applications Werkzeug follows. It was specified in the PEP 333 and is widely supported. Unlike previous solutions it gurantees that web applications, servers and utilties can work together.

## Response Object

For Werkzeug, a response object is an object that works like a WSGI application but does not do any request processing. Usually you have a view function or controller method that processes the request and assambles a response object.

A response object is not necessarily the `BaseResponse` object or a subclass thereof.

For example Pylons/webob provide a very similar response class that can be used as well (`webob.Response`).

## View Function

Often people speak of MVC (Model, View, Controller) when developing web applications. However, the Django framework coined MTV (Model, Template, View) which basically means the same but reduces the concept to the data model, a function that processes data from the request and the database and renders a template.

Werkzeug itself does not tell you how you should develop applications, but the documentation often speaks of view functions that work roughly the same. The idea of a view function is that it’s called with a request object (and optionally some parameters from an URL rule) and returns a response object.