Skip to content

10. Interim Conclusion

Examples 01 through 28 have presented, one by one, all the concepts required by the case study:

Concept
Examples
In the case study
views, routing, responses, redirects
01 through 05
[config/urls.py], [web/urls.py], folder [web/views]
shared services
06
[business/provider.py], [web/application.py]
view model, validation forms, decorators
07 through 12
[web/utils.py] (raw parameter values), [business/person_data.py]
templates, parent template, fragments, tags, and filters
13 to 16
folder [templates], [web/templatetags/rdv.py], [web/contexts.py]
forms, validation, re-display, Bootstrap rendering
17 to 19
[web/forms.py], [web/rendering.py], [templates/forms/field.html]
POST / Redirect / GET, flash messages
20
Views, [templates/fragments/success.html]
links and buttons, anti-CSRF protection, confirmation window
21
[fragments/confirmation.html], [static/js/app.js], [web/views/persons.py]
internationalization
22
folder [locale], [web/middleware.py], [web/views/language.py]
data scope, cache, signed cookies
23
[web/application.py] (cache), folder [security] (cache, cookies)
middleware, signals, error pages
24
[web/middleware.py], [security/middleware.py], [web/views/errors.py]
authentication JWT, roles, access control, CAPTCHA, rate limiting
25–27
folder [security], [web/views/auth.py]
Web / Business / DAO, ORM, Transactions
28
files [models], [dao], [business]

The case study brings them together into a complete, realistic-sized application (nearly 90 files, approximately 5,500 lines, including comments). It was written with the same care as the examples: each file begins with a comment explaining its role, and tricky sections are annotated in the code. Each main folder also contains a file named [README.md] that lists its files. The document’s comments highlight what the examples did not show and refer to them for the rest.