How do I set up a basic website with registration in Python on Dreamhost?
Question: I need to write a basic website on Dreamhost. It needs to be done in Python. I
discovered Dreamhost permits me to write .py files, and read them.

### Example:

    
    
    #!/usr/bin/python
    print "Content-type: text/html\n\n"
    print "hello world"
    

So now I am looking for a basic framework, or a set of files that has already
programmed the whole registration to be able to kick-off the project in a
simple way. By registration I mean the files to register a new account, log
in, check the email (sending a mail), and edit the user information. All this
possibly using MySQL.


Answer: Let me share my own experience with django. My prerequisits:

  * average knowledge of python

  * very weak idea of how web works (no js skills, just a bit of css)

  * my day job is filled with coding in C and I just wanted to try something different, so there certainly was a passion to learn (I think this is the most important one)

Why I've chosen django:

  * I've already knew bits and pieces of python

  * django has excelent documentation, including tutorial, which explained everything in very clear and simple manner

It is worth to read complete [manual](http://docs.djangoproject.com/en/dev/)
first (it took me two or three weekends. I remember I could not
remember/understand everything at first pass, but it helped me to learn where
the information can be found when needed. There is also another source of
documentaion called [djangobook](http://www.djangobook.com/ "djangobook").
Djangobook contains same information as manual, but things are explained more
in detail. It's worth to read it also, it helps to catch up with MVC concept,
if you have not tried that before.

And finally to answer your question best: there are already also
[OpenId](http://openid.net) modules ready for you. I'm considering to use
[django-authopenid](http://bitbucket.org/benoitc/django-authopenid/wiki/Home)
for my new project. It supports OpenId, while providing fallback to locally
managed users.

There is certain learning curve if you are going learn django. The more you
know about the web and python the steeper the curve is. I had to also learn
bits and pieces of javascript and it took me also some time. If you are able
to spend full time learning django, then you can expect you'll be able to
deliver first results within 4-6 weeks. It took me 6 months, since I was doing
my django studies in free time.

