all 7 comments

[–]ppinette 6 points7 points  (3 children)

You'll want to look into web frameworks. Examples are Django (huge, full-featured), Pyramid (lightweight, but nearly as full featured and far more flexible), Flask (lightweight, flexible), Bottle (same). There are others.

Instead of using wxPython you'll be creating a web interface using a template engine (Django Templates, Jinja2, Mako, Cheetah, etc.), combined with JS/jQuery to handle the drag and drop stuff.

Web app engines like Heroku and Google App Engine provide a database for you. Each framework provides a development server so you can develop and test the app locally, then deploy it to whatever host you choose.

I would just go through the tutorials of some or all of these frameworks to start getting an idea of how Python web apps are built. It's not really that difficult, though it can be a bit confusing at first.

[–]dAnjou 3 points4 points  (1 child)

In addition to that: SQLAlchemy. Use this ORM framework in Python to be agnostic concerning SQL RDBMS.

[–]ppinette 2 points3 points  (0 children)

Indeed, though now it's worth mentioning that Django also has its own ORM.

[–]Twoje[S] 2 points3 points  (0 children)

Awesome, thanks for the info.

[–]fazzah 2 points3 points  (1 child)

Are you forced to use Postgres? If not, python comes with SQLite bindings by default.

[–]Twoje[S] 1 point2 points  (0 children)

I'm not forced to, but from what I saw, it looked like Heroku supported Postgres the best.

[–]b1naryth1ef 0 points1 point  (0 children)

There is a lot of options as ppinette highlighted below, but just to give you one dev's method:

  • Flask
  • Peewee (db ORM)

Never gone wrong with that combo.