Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eweka.nl!lightspeed.eweka.nl!194.109.133.81.MISMATCH!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!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.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'wiki': 0.03; 'django.': 0.05; 'plone': 0.05; 'subject:Python': 0.06; 'computing,': 0.07; 'tkinter': 0.07; 'cherrypy': 0.09; "django's": 0.09; 'orm': 0.09; 'wrong,': 0.09; 'subject:How': 0.10; 'cc:addr:python-list': 0.11; 'python': 0.11; 'django': 0.11; 'gui': 0.12; 'language.': 0.14; 'template': 0.14; "wouldn't": 0.14; 'backend.': 0.16; 'enough.': 0.16; 'frameworks.': 0.16; 'jumped': 0.16; 'learnt': 0.16; 'moinmoin': 0.16; 'non-trivial': 0.16; 'plone.': 0.16; 'prefer.': 0.16; 'sqlalchemy': 0.16; 'sqlalchemy,': 0.16; 'apps': 0.16; 'subject: ?': 0.16; 'language': 0.16; 'library': 0.18; 'example': 0.22; 'programming': 0.22; 'comfortable': 0.22; 'cc:addr:python.org': 0.22; 'frameworks': 0.24; 'lets': 0.24; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; "i've": 0.25; 'define': 0.26; 'purposes': 0.26; '(for': 0.26; 'gets': 0.27; 'header:In-Reply-To:1': 0.27; 'generally': 0.29; 'quickly': 0.29; 'thus': 0.29; 'especially': 0.30; 'message-id:@mail.gmail.com': 0.30; 'getting': 0.31; 'too.': 0.31; 'usually': 0.31; 'another.': 0.31; 'idea,': 0.31; 'staying': 0.31; 'quite': 0.32; 'framework': 0.33; 'raw': 0.33; 'knowledge': 0.35; 'subject:with': 0.35; 'basic': 0.35; 'something': 0.35; 'computing': 0.35; 'requirement': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'really': 0.36; 'accessing': 0.36; 'much.': 0.36; 'done': 0.36; 'useful': 0.36; 'level': 0.37; 'sometimes': 0.38; 'handle': 0.38; 'files': 0.38; 'does': 0.39; 'aside': 0.39; "couldn't": 0.39; 'heard': 0.39; 'support,': 0.39; 'how': 0.40; 'easy': 0.60; 'middle': 0.60; 'most': 0.60; 'areas': 0.61; 'course': 0.61; 'further': 0.61; 'advanced': 0.63; 'kind': 0.63; 'more': 0.64; 'love': 0.65; 'to:addr:gmail.com': 0.65; 'effectively': 0.66; 'between': 0.67; 'it!': 0.67; 'foreign': 0.74; 'unusual': 0.74; 'goal': 0.75; 'career.': 0.84; 'different.': 0.84; 'liking': 0.84; 'ship.': 0.84; 'composite': 0.91; 'niche.': 0.91; '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=5x1fZv60YDirW45nbRcVXO0FGeKTm+MjB5NPZdUI0VA=; b=pMsgZtYs4MZVNH45EqOlbjzqcss6U+aeI8ID2ZzXmwmFDl6pzQ1IJEp7q/8SP9sjO7 sKJdthf1L03FmQMsjO7hALdqCxiR5sdVg7+GrwaYxSJM/Id4efBWcp12QvObbScwWejp ixCgM4UM4uDfSL18xYlnvLXVmt629PPnEpGnNKzMZpOe6jXl/q+Z6KIRipvu8CfPlOON ggGo/z2lHchsxsDN1vy3tKLpvgjU/RtQuZek277H8KQJjMAovFGD5etRSwEy9S+PFkUO XS19aUQMwsA9ZIkJBdWMuxcOJJ4JVGeasg5gkJjCYx11vM55kCxToyYB0ZHacow68w3k NEHg== MIME-Version: 1.0 X-Received: by 10.14.209.5 with SMTP id r5mr14593643eeo.112.1370029408922; Fri, 31 May 2013 12:43:28 -0700 (PDT) In-Reply-To: References: Date: Fri, 31 May 2013 13:43:28 -0600 Subject: Re: How to Begin Web Development with Python ? From: Modulok To: Chitrank Dixit Content-Type: multipart/alternative; boundary=047d7b60471c4052fd04de08d406 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: 156 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1370029416 news.xs4all.nl 15896 [2001:888:2000:d::a6]:60034 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:46626 --047d7b60471c4052fd04de08d406 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. > > Each web framework is kind of its own niche. I wouldn't learn one for the purpose of learning another. For example to use Django effectively requires knowledge specific to Django. Aside from some casual similarities between various web frameworks they're all pretty different. If you feel comfortable with web2Py and it does what you need - use the heck out of it! I've heard good things about Web2Py but not used it myself. I used Django for a while but found it to usually be over complicated for most of my needs. In other areas it wasn't advanced enough. (For instance I had an unusual requirement once for composite foreign key support, something Django's ORM couldn't handle at the time. I also disliked the template language. By the time I replaced the ORM and the template language the only thing I was really using was the URL routing so I jumped ship. (Don't get me wrong, I know people who love Django - just not me.) Cherrypy is neat but I found it to be more spartan than I prefer. I've since settled on Flask with SQLAlchemy and am liking it very much. It's a nice middle ground. It also has extensive documentation and example files too. Of course it really helped that I already knew SQLAlchemy, thus pairing it with Flask was cake. While not a web framework, learning SQLAlchemy is useful in its own right because it can be used in a wide variety of projects and is used by some web frameworks. It's also an excellent package that lets you use most of the features of your specific database backend. For web apps staying abstract is usually a good idea, but honestly how often do you change SQL backends? I think I've done it once in my career. I've found the advantage of using database specific features generally outweighs the drawbacks. This is especially true if you have more than one client/website accessing the same database. SQLAlchemy gets me the best of both worlds. I can define check constraints and enumerations and all the other goodies and have them match between database clients. If you don't already know this from scientific computing, learning some raw SQL is quite useful too! Sometimes you need a non-trivial query. -Modulok- --047d7b60471c4052fd04de08d406 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 computi= ng using sage and GUI development using Tkinter and lots more. I want to st= art web development using python My goal is to learn the web development in= python from the basic level and understand the big web development project= s like Django , MoinMoin Wiki , Plone =A0and network programming further wi= th twisted.

I have found Web2Py to= be an easy library to quickly use and develop the web application. Is ther= e any other library to start my development with.
and
does my plan of learnin= g Web2Py is good for Web development and getting involved in the big projec= ts like=A0Django , MoinMoin Wiki , Plone.


Each web framework is kind of its own ni= che. I wouldn't learn one for the
purpo= se of learning another. For example to use Django effectively requires
knowledge specific to Django. Aside from some ca= sual similarities between
various web frame= works they're all pretty different. If you feel comfortable
with web2Py and it does what you need - use the heck out of it!

I've heard go= od things about Web2Py but not used it myself.

I used Django for a while but found it= to usually be over complicated for most
of= my needs. In other areas it wasn't advanced enough. (For instance I ha= d an
unusual requirement once for composite foreign k= ey support, something Django's
ORM coul= dn't handle at the time. I also disliked the template language. By the<= /div>
time I replaced the ORM and the template languag= e the only thing I was really
using was the= URL routing so I jumped ship. (Don't get me wrong, I know
people who love Django - just not me.)

=
Cherrypy is neat but I found it to be more= spartan than I prefer. I've since
sett= led on Flask with SQLAlchemy and am liking it very much. It's a nice mi= ddle
ground. It also has extensive documentation and = example files too. Of course it
really help= ed that I already knew SQLAlchemy, thus pairing it with Flask was
cake.

= While not a web framework, learning SQLAlchemy is useful in its own right
because it can be used in a wide variety of = projects and is used by some web
frameworks. It's also an excellent package t= hat lets you use most of the
features of yo= ur specific database backend. For web apps staying abstract is
usually a good idea, but honestly how often do you change SQL backends? I t= hink
I've done it once in my career. I&= #39;ve found the advantage of using database
specific features generally outweighs the drawbacks. This is especially tru= e if
you have more than one client/website = accessing the same database. SQLAlchemy
get= s me the best of both worlds. I can define check constraints and enumeratio= ns
and all the other goodies and have them match be= tween database clients.

If you don't already know this from scientific comput= ing, learning some raw SQL
is quite useful too! Sometimes you need a non-tr= ivial query.

-Modulok-
--047d7b60471c4052fd04de08d406--