Код за вас писать не буду. Но в общем это
может выглядеть так...
В models, как ни странно, пишете модель со всеми необходимыми полями — название, текст, background, адреса и телефоны... Если используете
django sites, то можно через
OneToOneField привязать её к модели сайта.
Во views достаточно одного класса, наследованного от
UpdateView. В нём переопределяете метод
get_object так, чтобы экземпляр модели настроек создавался в случае его отсутствия в БД.
Про urls смысла писать нет — это вспомогательный код.
Удачи!