Rationale

Action URLs: they do not belong in the database/models, as your database
records will outlive the URL routing configuration.

Texts & descriptions: these neither belong in the database/models. If you need to change
the wording or correct a typ-o, you should not have to go over all existing records to
make the change as well. But more importantly, you need to cater for internationalization,
so these belong in templates where e.g. {% blocktrans %} can be used.

Views: any views that are offered out of the box are not going to match your requirements,
and won’t fit in with your single page application.