A view from the top
In Django, a view is defined as a callable that accepts a request and returns a response. It is usually a function or a class with a special class method such as as_view()
.
In both cases, we create a normal Python function that takes an HTTPRequest
as the first argument and returns an HTTPResponse
. A URLConf
can also pass additional arguments to this function. These arguments can be captured from parts of the URL or set to default values.
Here is what a simple view looks like:
# In views.py from django.http import HttpResponse def hello_fn(request, name="World"): return HttpResponse("Hello {}!".format(name))
Our two-line view function is quite simple to understand. We are currently not doing anything with the request
argument. We can examine a request to better understand the context in which the view was called, for example by looking at the GET
/POST
parameters, URI path, or HTTP headers such as REMOTE_ADDR
.
Its corresponding lines in URLConf
would...