[Baypiggies] writing simple CRUD web app, suggestions needed

Alex Martelli aleax at google.com
Mon Apr 4 17:10:26 EDT 2016


I'm biased in two ways as I work for Google Cloud and have always tended to
prefer lightweight frameworks (as opposed to heavy/rich ones like Django,
or "essentially no framework at all" approaches).

Were I in your shoes (and I've often been, in my spare time, since I have
permission from Google to develop open source on my own time and equipment
and ended up doing so pretty often over the years), I'd pick a lightweight
framework (I'm fond of webapp2, but it's not really being kept up to date
these days; so, popular flask, upstart bottle, or new super-light
http://falconframework.org/ may be best) and write an App Engine app with
said framework and Python 2.7.

>From your description of your requirements it sounds as if you'll
comfortably fit into the free tier of Google App Engine use, so you'll be
able to deploy to Google servers (at some-application-id.appspot.com;
buying and adding your own custom domain is feasible but does cost some
money depending on your chosen registrar) and run your app for free.

Essentially, App Engine lets you focus just on writing your code, with no
system admin tasks required. It runs as a WSGI server, which is why you can
use essentially any pure Python framework (as they all support WSGI these
days. As you develop your server you can run it locally on your machine
(with conveniences such as automatic reloading of modified source files),
then deploy it (in several versions if you wish) to appspot.com any time
it's ready. Facilities such as cloud source repos,
https://cloud.google.com/source-repositories/docs/pricing , and Stackdriver
Debugger,
https://cloud.google.com/debugger/docs/setting-up-python-on-app-engine ,
can be handy additions but are not mandatory. Ditto for unit tests based on
the supplied testbed, and so forth.

Repeating the warning: I'm biased -- I was never officially part of the App
Engine team (Guido van Rossum was, in his years at Google) but I've always
enthusiastically supported it since its earliest, internal-only days, when
it was called Prometheus. My enthusiasm has not abated over the years and
these days I'm in charge of tech support (for users not paying for support,
i.e, excluding the "premium" levels of paid support) for it as well as
other parts of the Google Cloud Platform.


Alex




On Mon, Apr 4, 2016 at 1:42 PM, Aleksandr Miroslav <alexmiroslav at gmail.com>
wrote:

> I need to whip up a quick registration system for a small summer school
> program my wife is part of.
>
> The requirements are very simple:
>
>    - parent goes to site and registers their child's info (name, DOB,
>    allergies, emergency contact, etc.)
>    - admins (teachers) can see registrations, search, filter, etc.
>    - admins can export and print registration list
>
> I know Python pretty well, so that's not a problem, but I've always used
> it in a systems programming context for work, I've not done much web stuff.
>
> I'm pretty sure I should choose a Python web framework to do this. I've
> taken some quick looks, and I think maybe Django is the tool. But I see
> Pyramid, flask, and others being mentioned, and I'm having a hard time
> deciding on something.
>
> For the task I describe above should I:
>
>    - write it in a framework? (and which one should I use?)
>    - write it in pure python? (e.g. FastCGI or something similar)
>    - go with some other option?
>
> It would be so awesome if someone's written something similar that I can
> reuse, I'd like minimize the amount of code I write.
>
> The end users of the system will be parents (who sign up their kids), and
> teachers who would login and see the data, so pretty much all non-technical
> people. Also, if possible, we'd like to reuse the system for other similar
> school-related events in the future.
>
> Thanks in advance for any advice,
>
> Alex
>
> _______________________________________________
> Baypiggies mailing list
> Baypiggies at python.org
> To change your subscription options or unsubscribe:
> https://mail.python.org/mailman/listinfo/baypiggies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/baypiggies/attachments/20160404/5053ceed/attachment-0001.html>


More information about the Baypiggies mailing list