Most straightforward website—websites that provide web‐pages—need generic pages. Pages for contact, company details, ‘about’—that kind of page. Django has a solution—the (optional) app called ‘flatpages’.
Flatpages
The app has these features,
blocks duplicate pages
can generate URLs semi‐automatically (or ignore and added directly to urls.py)
can default to one template, or set templates individually by page
can also be routed from a throw by 404 error
supports user acess permissions
can integrate with sitemaps
You see that flatpages includes most of the feature you could want for such an app, so it is worth considering. That said…
You could make your own app for flatpages. I stand there are two reasons. First, you would like something very generic, which not only uses the same CSS and even HTML layout, but is of the project, perhaps inheriting models. Second, you may want some special model structure, such as Richtext Fields or extended data like SEO. Otherwise go with the Flatpages app.
If you want to make your own app, here’s a reminder how to make an app, lightly customised for generic pages. Modify as you need,
Register, in siteName/settings.py.
Make a model,
Migrate,
Roll some admin,
Make a view, in views.py,
Make a template, in sitepages/templates/sitespages/,
Wire the urls into siteName/urls.py,
Put this entry near the bottom of the list, it’s a short URL.