You don't, and I've recently been encountering a LOT of very confused would-be devs who get stuck behind some tangled mess of django installation.
The "simplest" web application could look like this:
#!/usr/bin/python
import cgi
form = cgi.FieldStorage()
name = form.getvalue("name", none)
print "content-type:text/plain\n"
print "Your name is %s" % (name)
Or maybe you want to get fancy: #!/usr/bin/python
import MySQLdb
db=MySQLdb.connect(user=user,passwd=pass,db=test)
c.execute("select something from sometable")
results = c.fetchall()
print "content-type:text/plain\n"
#hey look, CSV data!
for line in results:
print ",".join(line)
etc. etc.I encountered a dev the other day (I guess I'm a shitty dev, then?) who asked me how my application handled URLs.
uhh...apache?
"No, how does it handle URLs, though"
"Apache. WTF are you talking about?"
"No, like if you go to example.com/foo/bar/, how does it know what to send me?"
"...?"
I swear half the devs I meet lately are more concerned with javascript frameworks and rewriting their own webserver than they are about actually serving content to users.
Imagine a baker who was more concerned with building ovens than baking bread.
Keep in mind what your goals are when you're working: are you looking to write a javascript framework, or are you looking to write a web application? Then evaluate what path you want to take from "not having an application" to "shipping a product".
Sometimes (probably many times), you don't need to make it as complicated as you're making it, and apache will work just fine.