This page gives you a short glimpse of multiple OCaml Web frameworks. A simple application will stress multiple aspects of typical application: rendering, form processing, database query, security.
Note: the sql file is intended to initialise a SQL database used by these exemples.
Dream is a nice Web framework that permits you to route your application call between different rendering and processing functions. It comes with a templating system (but doesn't mandate it). It handles many use cases and is well documented with many use-case examples. See Dream documentation page.
Despite the templating proposed by Dream, you may prefer a template system similar to Django or Jinja on Python. This is what proposes Jingoo. This has a neater syntax, but its ".jingoo" files are not compiled (and their errors are detected at run time while the Dream template would have raised an error at compile time). See Jingoo Github page.
The templating approach proposed by Dream may also be replaced by TyXML. This does not work like template-based string extrapolation, but rather uses a set of functions eponymous to HTML tags. These functions build the HTML result and guarantee that it is well-formed. See the TyXML page