Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.007 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'wiki': 0.03; 'plone': 0.05; 'subject:Python': 0.06; 'postgresql': 0.07; 'tkinter': 0.07; 'cursor': 0.09; 'orm': 0.09; 'sql,': 0.09; 'subject:How': 0.10; 'cc:addr:python-list': 0.11; 'python': 0.11; 'django': 0.11; 'gui': 0.12; 'books': 0.15; 'aiming': 0.16; 'bottom-up.': 0.16; 'internally': 0.16; 'learnt': 0.16; 'luck!': 0.16; 'luck,': 0.16; 'magic': 0.16; 'moinmoin': 0.16; 'plone.': 0.16; 'posters': 0.16; 'sqlalchemy': 0.16; 'wanted.': 0.16; 'subject: ?': 0.16; 'all.': 0.16; 'library': 0.18; 'acquired': 0.19; 'first.': 0.19; 'programming': 0.22; 'comfortable': 0.22; 'preferred': 0.22; 'cc:addr:python.org': 0.22; 'fine': 0.24; 'software.': 0.24; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; '>': 0.26; 'purposes': 0.26; 'query': 0.26; 'suggested': 0.26; 'header:In- Reply-To:1': 0.27; '[1]': 0.29; 'points': 0.29; 'quickly': 0.29; "doesn't": 0.30; '[2]': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'getting': 0.31; 'serve': 0.31; 'url:wiki': 0.31; 'usually': 0.31; 'url:wikipedia': 0.31; 'quite': 0.32; 'raw': 0.33; 'subject:with': 0.35; 'basic': 0.35; 'computing': 0.35; 'more,': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'really': 0.36; 'interact': 0.36; 'oracle': 0.36; "didn't": 0.36; 'useful': 0.36; 'url:org': 0.36; 'should': 0.36; 'requirements': 0.37; 'project': 0.37; 'level': 0.37; 'skip:& 10': 0.38; 'problems': 0.38; 'depends': 0.38; 'needed': 0.38; 'whatever': 0.38; 'rather': 0.38; 'does': 0.39; 'sure': 0.39; 'how': 0.40; 'even': 0.60; 'easy': 0.60; 'most': 0.60; 'black': 0.61; 'full': 0.61; 'world.': 0.61; 'simply': 0.61; "you're": 0.61; 'further': 0.61; "you'll": 0.62; 'high': 0.63; 'kind': 0.63; 'become': 0.64; 'more': 0.64; 'to:addr:gmail.com': 0.65; 'side': 0.67; 'between': 0.67; 'anything.': 0.68; 'url:gl': 0.72; 'goal': 0.75; 'url:goo': 0.75; 'low': 0.83; 'alone.': 0.84; 'different.': 0.84; 'everything,': 0.84; 'facto': 0.84; 'learn.': 0.84; 'locked': 0.84; 'subject:Development': 0.95 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=aZsE1BuduasYE+96VBRbjitsNqeLobHx5p8LxV0EgMI=; b=Ho9ykorv02INU2ndK9wHQePYu/ZtUDbW8PKlmrOX0CZi4H1mR5pLKrq7KqvR/e/Sce B6Wrgx6SeZ8Fh4gKzukLGHF4DfghFZ05ymbnULsjlqRVR1op6j1mE2KgxULOoIxEJ73V xfXyJ946SBioCEWTOaZTws8/DVyxw5qF0l2h0ClCQhpukpxtc/vDxxxF/cymx1aIdOHW Nk1dopzWCim1OqRUOqtE7ZTQbw4u69eBi0Sgv6ebjZsSYXvMF81vUMaAzvEvnJrnrm+R uGY5RHoCwq9aFKqxJqSVykhan4XS7WcILrrbfBmiB47IlNW5SIMJpN4n9nHmdCimlqdi NEUQ== MIME-Version: 1.0 X-Received: by 10.14.219.136 with SMTP id m8mr2989047eep.86.1370124981946; Sat, 01 Jun 2013 15:16:21 -0700 (PDT) In-Reply-To: References: Date: Sat, 1 Jun 2013 16:16:21 -0600 Subject: Re: How to Begin Web Development with Python ? From: Modulok To: Giorgos Tzampanakis Content-Type: multipart/alternative; boundary=047d7b621b48d8eb1504de1f1463 Cc: python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 163 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1370125434 news.xs4all.nl 15869 [2001:888:2000:d::a6]:36654 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:46674 --047d7b621b48d8eb1504de1f1463 Content-Type: text/plain; charset=ISO-8859-1 > > 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- --047d7b621b48d8eb1504de1f1463 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

=
> 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<= br> > development projects like Django , MoinMoin Wiki , Plone =A0and networ= k
> programming further with twisted.
>
> I have found Web2Py to be an easy library to quickly use and develop t= he
> web application. Is there any other library to start my development wi= th.
> and
> does my plan of learning Web2Py is good for Web development and gettin= g
> 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 =A0[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<= br> you with any problems you come across!

[1] https://en.wikipedia.org/wiki/Object-relational_= mapping#Controversy
[2] http://goo.gl/ECNSp


over-complicated nonsense, black magic and I alr= eady 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=

The down si= de 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 d= e-facto standard. Internally this is what SQLalchemy uses
to access a postgresql database. If you're on MySQL or Oracle or whatev= er 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 o= f learning the low level lib
will serve you= well and you'll feel more immediately productive.

Good luck!
-Modulok-
--047d7b621b48d8eb1504de1f1463--