The most popular Clojure web framework right now is Noir by far. In my mind, Noir is in the same category as Sinatra and Flask---a microframework that allows you to expose some functionality over HTTP.
I find myself constantly reimplementing the same general-purpose code for every project. Things like authentication, form validation and even ORM are missing from Noir. What I would like to see is a new Clojure framework that is based around similar ideas as Django or Ruby on Rails. I want all the batteries included.
- Sane, built-in templating language (Jinja2, Mustache)
- Forms (display, validate, save, csrf protection)
- ORM (can be fairly simple)
- Admin interface
- Pagination
- E-mail sending
Feel free to ask more questions below. If there is a project like this already in the works, please do let me know.
In Django, you place templates in a specific place and the framework can pick that up. For example, third party apps can provide their own templates which you can customize by overriding the defaults. In general, Django's apps idea is an example of this interface. Each app can provide models, views, urls and other modules.
But I definitely see your point about composing libraries. This way you aren't locked into the framework's way of thinking. In the Python community, lots of people dislike Django because of how big it is and how difficult it is to swap out a part of the architecture (e.g. you might want a different ORM).