I'd say the answer depends on your personal capabilities and objectives. "Best" tends to always be relative to what you know and your personal requirements as much as to you specific design requirements. Nothing you've said here sounds like it couldn't be done with a CMS and some plugins, and if you're not a proficient programmer, or you want this set up very quickly, I'd suggest you look there first. If you have a goal of learning new technologies, or you need specific extension points that a CMS can't provide, or if you want the experience to be more tightly integrated than a CMS, then django could be a good option for you.