Drupal или Joomla - ваш лучший выбор. Во-первых, Joomla позволяет вам в основном добавлять эти функции, которые вы запрашиваете, в процессе установки. Это самый простой путь.
Теперь, если вам нужна настройка LOTS и LOTS и вы не возражаете разбираться в небольшом коде, то drupal будет идеальным. Самое замечательное, что возможности настройки практически безграничны! Плохо то, что Drupal имеет печально известную сумасшедшую систему шаблонов. Это не сложно понять, но даже простые вещи могут стать настоящей болью. Но, как и Joomla, вы можете избежать всего этого с помощью плагинов install и go. у тебя будет выбор.
Я не слишком много знаю о WordPress, но, посмотрев на API разработчика, он, кажется, предполагает объемы того, что вы намереваетесь построить на его основе. Что делает его намного менее гибким, чем drupal и django.
Джанго, ну по твоему вопросу ... это все, чего ты не хочешь. Также, если вы зашли на какой-либо из сайтов Django CMS, вы увидите, как больно их запускать и запускать. Тем не менее, я лично фанат Django, но я бы предпочел, чтобы вы не столкнулись с ним и испытали ужасное впечатление. так что учитывая ваш вопрос я бы сказал, Drupal!