Class-based views
Flask introduced the concept of pluggable views in version 0.7; this added a lot of flexibility to the existing implementation. We can write views in the form of classes; these views can be written in a generic fashion and allow for an easy and understandable inheritance.
Getting ready
Refer to the previous recipe, Writing function-based views and URL routes, to understand the basic function-based views first.
How to do it…
Flask provides a class named View, which can be inherited to add our custom behavior.
The following is an example of a simple GET request:
from flask.views import View
class GetRequest(View):
    def dispatch_request(self):
        bar = request.args.get('foo', 'bar')
        return 'A simple Flask request where foo is %s' % bar
app.add_url_rule(
    '/a-get-request', view_func=GetRequest.as_view('get_request')
)To accommodate both the GET and POST requests, we can write the following code:
from flask...