Do I need to use a web framework for a simple website?
You certainly don't need a webframework to create a simple website.  Given that you're new to python and interested in building a python website, I imagine this implies: you're interested in learning python.  If you're exclusively interested in learning django-python, there's no reason you can't jump in to django, as Ronak said, of course.  He's right.  It has a lot of documentation.  But it will make for somewhat of an odd intro to python.
If I were in your shoes, I'd either start making some offline programs first, or consider an ultra-lightweight framework.  Many would advocate web2py or pyramid for ultralightweight.  I might consider going even lighter.  Something like Bottle, where you're more or less just pairing functions with urls.  This way you can at least do a bit of hacking/trial-and-error, instead of launching right into django.  
It's not that django doesn't use python-- it will tell you many times that it is in fact 'just python.'  But it's adapted at its core to be used in a large business setting (the chicago something or other online, i think).  So it enforces various rules that are helpful in managing many different employees working on a project together.  You may or may not wish for this kind of 'help.'  It also means the scale of projects is assumed to be large and the time-horizon, limitless.  If you want to see how a python dictionary works, you may not want to spend a long time configuring settings and creating the pseudo-static-typing you need for your database, and so on, just to execute your project and see a result.
I realize I will automatically get downvoted for this, but I believe it to be sound advice.
The site won't be that complicated and will resemble a modern blog (users, messages, news and other similar features).
Do I need to use a framework for this, and if so, which is best?
Pyramid, Django?