The apache configuration files must have, at a minimum, a WSGIScriptAlias directive.
There is also a list of the apache modules which get loaded, and mod_wsgi must be included.
mod_wsgi must be linked against the particular apache, but the distribution, if you're using the OS's package manager, should have made sure of that.
As previously mentioned by another, mod_wsgi is linked against a particular python interpreter. Again, hopefully the OS package manager pulls in stuff built to work together, but this does mean that you can't, say, use python2.7 if the distribution's python is a 2.6.
It is much to be preferred, though not absolutely required, that the python in question was build after passing "--enable-shared" to the configure script. Unless you build everything yourself (which I usually do, but not yet on Raspberry PI), you have no control of this.
That WSGIScriptAlias directive should probably specify a python-path argument specifying the directory with manage.py in it, though I've seen it work with the adding of this path deferred to the wsgi script python module.
You can use a virtualenv, but it must have been made with the python interpreter against which mod_wsgi is linked (not the same file, but ve/bin/python is generally a copy, and this works well enough), but you will either need to use the WSGIPythonHome directive, or, if your mod_wsgi is new enough, the python-home argument of the WSGIScriptAlias directive. (The advantage of the latter is the ability to use separate virtualenvs in separate VirtualHosts, whereas WSGIPytonHome is global across all mod_wsgi daemon processes under a single apache..)
You will want to configure Alias directives to allow serving your STATIC and MEDIA files at the expected URLs.
You will need a number of Directory directives (though fewer than some people think).
The mod_wsgi documentation is excellent. If you think otherwise it is because you don't yet appreciate the complexity of the issues.
Bill