I have some page elements that don’t change often and are displayed on every page like some adbars, footer content and such.
I want to change settings for this elements in my admin interface, so I have models for them.
Is there a best practice in django to deal with these elements?
Not really, no. You’re describing a singleton pattern, so you might want to implement a singleton model type:
That will ensure that any model that inherits from that class can only ever have one member and that it can’t be deleted. Other than that, I would suggest combining everything into just one model called something like
SiteSettingswith fields for header, footer, etc, instead of separate model for each.