> > I have learnt python and used it for various purposes for scietific > > computing using sage and GUI development using Tkinter and lots more. I > > want to start web development using python My goal is to learn the web > > development in python from the basic level and understand the big web > > development projects like Django , MoinMoin Wiki , Plone and network > > programming further with twisted. > > > > I have found Web2Py to be an easy library to quickly use and develop the > > web application. Is there any other library to start my development with. > > and > > does my plan of learning Web2Py is good for Web development and getting > > involved in the big projects like Django , MoinMoin Wiki , Plone. > > > > Modulok suggested using ORM software. ORM should not really be needed if > you are aiming at scientific content for your application, you should > be fine with straight SQL (many consider ORM a hindrance rather than > help for any project [1], [2]). But if you do find the need for ORM > then SQLAlchemy is very good and is considered pretty much a de facto > standard in the Python world. > > Good luck, and I'm sure comp.lang.python posters will be happy to help > you with any problems you come across! > > [1] https://en.wikipedia.org/wiki/Object-relational_mapping#Controversy > [2] http://goo.gl/ECNSp > > > In SQLalchemy you can use straight SQL, or a database abstraction, or a full ORM depending on your needs. The full ORM scared me at first. It was over-complicated nonsense, black magic and I already had a background in SQL on a console. I knew the exact queries I wanted. I didn't need this technical obfuscation wedged between me and greatness. However the more I used it the more I started to like it. (Slowly!) It's kind of an acquired taste. It's not perfect for everything, but it's usually quite useful once you become comfortable with it. Even so there are some valid points made against them.
The nice part about SQLalchemy over most other "orm" packages is it doesn't really care how high or low level you interact with your data. It supports them all. You can do a raw SQL query on a cursor if you want. If you need more, you can use the database abstraction. Or more still is setting up a full ORM. You're never locked into anything. The down side to SQLalchemy however it is a very large library to learn. There are books about it alone. For leaner requirements I use psycopg2, simply because I use postgresql as my data store and it's pretty much the pythyon/postgresql de-facto standard. Internally this is what SQLalchemy uses to access a postgresql database. If you're on MySQL or Oracle or whatever your low level package will be different. What you use depends on your preferred learning style: top-down or bottom-up. If you already know SQL the bottom-up approach of learning the low level lib will serve you well and you'll feel more immediately productive. Good luck! -Modulok-
-- http://mail.python.org/mailman/listinfo/python-list