473,506 Members | 17,266 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Building Python Based Web Application

Hello All,

I am interested in setting up a modest invoicing system for some
consulting I am doing. I like the idea of managing this on the web and
creating invoices and printing them from a browser. However, I'm not
really sure where to start. I've played with some CMS applications, but
they seem more for blogging (mamba, wordpress, etc.). Ideally, I would
like to interface with mySQL (or whatever the favorite web-flavor
database app is these days). I would like to be able to use my python
skills.

I confident that if I set out to write this from scatch, I will be
seriously re-inventing the wheel, perhaps several times over.

So, my question is, does anyone know of a book and/or some kind of
framework that would make the best sense for what I am describing here?
I've heard of Zope, but I would like to make sure its appropriate for
the job before I spend 2 or 3 days getting acquainted with it. I'm adept
at HTML, python, CSS, python-CGI, and interfacing with mySQL through
DBI. I'm sure I could get something to work with these skills, but I
want to minimize wheel re-invention as much as possible.

Basically, I want a jump start on data-base oriented web development
with a focus on applying my python skills.

Any suggestions will be greatly appreciated.

James

--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
Sep 8 '06 #1
10 1868
James Stroud wrote:
Basically, I want a jump start on data-base oriented web development
with a focus on applying my python skills.

Any suggestions will be greatly appreciated.
Two very popular frameworks are TurboGears (http://www.turbogears.org)
and Django (http://www.djangoproject.com/). I have had good luck with
both in the past, and TurboGears is my current framework of choice.

There are a bunch of other frameworks out there as well, but I would
guess that these are the two most popular.

Best of luck -

--
Jonathan LaCour
http://cleverdevil.org
Sep 8 '06 #2

James Stroud wrote:
Hello All,

I am interested in setting up a modest invoicing system for some
consulting I am doing. I like the idea of managing this on the web and
creating invoices and printing them from a browser. However, I'm not
really sure where to start. I've played with some CMS applications, but
they seem more for blogging (mamba, wordpress, etc.). Ideally, I would
like to interface with mySQL (or whatever the favorite web-flavor
database app is these days). I would like to be able to use my python
skills.

I confident that if I set out to write this from scatch, I will be
seriously re-inventing the wheel, perhaps several times over.

So, my question is, does anyone know of a book and/or some kind of
framework that would make the best sense for what I am describing here?
I've heard of Zope, but I would like to make sure its appropriate for
the job before I spend 2 or 3 days getting acquainted with it. I'm adept
at HTML, python, CSS, python-CGI, and interfacing with mySQL through
DBI. I'm sure I could get something to work with these skills, but I
want to minimize wheel re-invention as much as possible.

Basically, I want a jump start on data-base oriented web development
with a focus on applying my python skills.

Any suggestions will be greatly appreciated.

James

--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
Hi James,
>From what it looks like you are doing, filtered by my personal
experience, I would recommend either Django or TurboGears. From what I
have heard Zope, and Pylons would also be good choices.

Django would be by far the better choice if your data entry forms would
map directly to your database tables. The admin interface gives you
web-based access to your database pretty much for free. It doesn't work
as well when your data relationships are more complicated, but could
probably prove to be a useful head start.

I think TurboGears is a pretty good choice because of widgets. In
TurboGears widgets are packaged up bits of user interaction code, made
portable throughout your project. Widgets have already been created
that handle form creation, a bunch of nifty little ajax things, and
even more advanced features. User created widgets can be (and are)
easily made available for download and installation.

One example that you would probably find useful is the TurboTinyMCE
widget, which coincidentally enough is not a standard part of
turbogears, but a downloadable widget. It incorporates the TinyMCE text
editor into any web page without having to worry about adding style
sheets, javascript includes, or really any code that produces TinyMCE
to your existing HTML. You basically put a call to the TinyMCE widget
in your Template and all the rest of the work happens automatically.
TurboGears also has an admin interface (named Catwalk), but it is not
designed for external use.

Without having a better idea of what you are trying to do, I would
recommend Django on the grounds that the admin interface will probably
do what you need. I would encourage you to take a look at both projects
if you have time, just to see which one you like more, but based on raw
feature matches that is my recommendation.

Disclosure: I do most of my work with TurboGears. If I have maligned or
misrepresented any other project in any way please attribute it to lack
of experience. If I have maligned or misrepresented TurboGears in any
way, please attribute it to lack of caffeine.

Sep 8 '06 #3
On 9/8/06, James Stroud <js*****@mbi.ucla.eduwrote:
Hello All,

I am interested in setting up a modest invoicing system for some
consulting I am doing. I like the idea of managing this on the web and
creating invoices and printing them from a browser. However, I'm not
really sure where to start. I've played with some CMS applications, but
they seem more for blogging (mamba, wordpress, etc.). Ideally, I would
like to interface with mySQL (or whatever the favorite web-flavor
database app is these days). I would like to be able to use my python
skills.

I confident that if I set out to write this from scatch, I will be
seriously re-inventing the wheel, perhaps several times over.

So, my question is, does anyone know of a book and/or some kind of
framework that would make the best sense for what I am describing here?
I've heard of Zope, but I would like to make sure its appropriate for
the job before I spend 2 or 3 days getting acquainted with it. I'm adept
at HTML, python, CSS, python-CGI, and interfacing with mySQL through
DBI. I'm sure I could get something to work with these skills, but I
want to minimize wheel re-invention as much as possible.

Basically, I want a jump start on data-base oriented web development
with a focus on applying my python skills.
I think that Karrigell might do what you want, and you can read all
the (excellent) documentation in a few hours. Otherwise, specially if
you think you might get deeper into web-based stuff, with more
complex/special/whatever needs, I'd probably try Pylons (which has
also very nice and well organized docs). I have no direct experience
with Django or TG, but I find them "overwhelming", specially compared
to Karrigell; Zope I find even more overwhelming.

HTH,

R.
--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/116
--
http://mail.python.org/mailman/listinfo/python-list117

--
Ramon Diaz-Uriarte
Bioinformatics Unit
Spanish National Cancer Centre (CNIO)
http://ligarto.org/rdiaz
Sep 8 '06 #4
Hi folks.

I am interested on this topic as well.

If my application is not database related, what would be a good choice?

I have clients that wish to use my Python applications but I am not
willing to give them the code. So, I am thinking about setting it up
as a web based application and let them run it from their browser. If
things go well, may be I can charge them for usage later.

The application will involve getting a data file from the user, do some
processing, and return a result file to the user. Very modest - to
start.

Sep 8 '06 #5

John Henry wrote:
Hi folks.

I am interested on this topic as well.

If my application is not database related, what would be a good choice?

I have clients that wish to use my Python applications but I am not
willing to give them the code. So, I am thinking about setting it up
as a web based application and let them run it from their browser. If
things go well, may be I can charge them for usage later.

The application will involve getting a data file from the user, do some
processing, and return a result file to the user. Very modest - to
start.
For that kind of usage I don't know if any of the big name web
frameworks would be worth the effort, especially if returning a result
file entails making it available for download instead of handing it
back in the form of an HTML page. At that point all you would really
need is a controller to handle most of the details of working in HTTP
and maybe a templating system to help out with the HTML.

The only controller that is available independently that I can comment
on usefully is Cherrypy. It works pretty well, can run its own web
server if you like, and seems like it would be simple enough to use for
what you are talking about.

Without knowing more about your requirements that would be my
suggestion. I am sure there are other people on this group with more
experience here who could give more useful commentary.

-Adam

Sep 8 '06 #6
The most modest way is to use pure Python and interface via CGI with
the web. I would start there.

As you code you will find yourself saying "I wonder if a framework is
out there that already has automated this specific process (say
templating)?", well then you can search and find such a framework.

If you pick a framework you are not familiar with right from the start
then besides your original problem that you want o solve, you have
another problem -- that of learning a new framework. You will end up
molding your problem to some framework (this is not necessarily a very
bad thing) rather than finding a framework that helps you solve the
problem.

--Nick V.
John Henry wrote:
Hi folks.

I am interested on this topic as well.

If my application is not database related, what would be a good choice?

I have clients that wish to use my Python applications but I am not
willing to give them the code. So, I am thinking about setting it up
as a web based application and let them run it from their browser. If
things go well, may be I can charge them for usage later.

The application will involve getting a data file from the user, do some
processing, and return a result file to the user. Very modest - to
start.
Sep 9 '06 #7
James Stroud wrote:
Hello All,

I am interested in setting up a modest invoicing system for some
consulting I am doing. I like the idea of managing this on the web and
creating invoices and printing them from a browser. However, I'm not
really sure where to start. I've played with some CMS applications, but
they seem more for blogging (mamba, wordpress, etc.). Ideally, I would
like to interface with mySQL (or whatever the favorite web-flavor
database app is these days). I would like to be able to use my python
skills.

I confident that if I set out to write this from scatch, I will be
seriously re-inventing the wheel, perhaps several times over.

So, my question is, does anyone know of a book and/or some kind of
framework that would make the best sense for what I am describing here?
I've heard of Zope, but I would like to make sure its appropriate for
the job before I spend 2 or 3 days getting acquainted with it. I'm adept
at HTML, python, CSS, python-CGI, and interfacing with mySQL through
DBI. I'm sure I could get something to work with these skills, but I
want to minimize wheel re-invention as much as possible.

Basically, I want a jump start on data-base oriented web development
with a focus on applying my python skills.

Any suggestions will be greatly appreciated.

James
Once you solve the web data maintenance part (which I do using wxPython
on the desktop) you might be interested in my Python db-to-pdf invoice
generator, which I've been using now for several years. If so, drop me a
line and I'll send you a copy.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://holdenweb.blogspot.com
Recent Ramblings http://del.icio.us/steve.holden

Sep 9 '06 #8
James Stroud wrote:
Hello All,

I am interested in setting up a modest invoicing system for some
consulting I am doing. I like the idea of managing this on the web and
creating invoices and printing them from a browser. However, I'm not
really sure where to start. I've played with some CMS applications, but
they seem more for blogging (mamba, wordpress, etc.). Ideally, I would
like to interface with mySQL (or whatever the favorite web-flavor
database app is these days). I would like to be able to use my python
skills.

I confident that if I set out to write this from scatch, I will be
seriously re-inventing the wheel, perhaps several times over.

So, my question is, does anyone know of a book and/or some kind of
framework that would make the best sense for what I am describing here?
I've heard of Zope, but I would like to make sure its appropriate for
the job before I spend 2 or 3 days getting acquainted with it. I'm adept
at HTML, python, CSS, python-CGI, and interfacing with mySQL through
DBI. I'm sure I could get something to work with these skills, but I
want to minimize wheel re-invention as much as possible.

Basically, I want a jump start on data-base oriented web development
with a focus on applying my python skills.

Any suggestions will be greatly appreciated.

James

--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
James,

Karrigell is serving me well at the moment for a low-traffic
intranet/library-cataloguing site. There are different ways of creating
your app (html inside python, python inside html, or Karrigell
services) - personally, I use services exclusively, so:

library/books.ks/add, library/books.ks/edit,
library/books.ks/delete
library/authors.ks/add, library/authors.ks/edit,
library/authors.ks/delete

etc.

( I think - to the best of my knowledge - these would equate to
'controllers' in other frameworks - BookController, AuthorController...
)

Karrigell will also serve static pages with a simple

Include( 'mypage.html' )

I've recently set up 'lighttpd' webserver ( http://www.lighttpd.net ),
and this proxies easily to Karrigell with the following in
'lighttpd.conf':

server.modules = ( "mod_proxy" )
static-file.exclude-extensions = ( ".ks" )
$HTTP["url"] =~ "\.ks" {
proxy.server = ( "" =>
((
host ="127.0.0.1",
port =8081
))
)
}

ie. "if there is a '.ks' in the url, ask Karrigell, otherwise it's
static so serve it yourself"

I'm also using 'leonardo' (http://leonardo.pyworks.org) as a 'Latest
News' cms - it runs as a cgi script ( which lighttpd will serve via
"mod_cgi":

server.modules = ( "mod_proxy", "mod_cgi")
static-file.exclude-extensions = ( ".ks", ".py", ".cgi" )
cgi-assign = ( ".py" ="/usr/local/bin/python")

(Also useful is my trusty , if imperfect, html generator,
htmlbuilder.py:

http://gflanagan.net/site/python/htm...htmlbuilder.py
)

Hope that helps.

Gerard

Sep 9 '06 #9

Adam Jones wrote:
John Henry wrote:
Hi folks.

I am interested on this topic as well.

If my application is not database related, what would be a good choice?

I have clients that wish to use my Python applications but I am not
willing to give them the code. So, I am thinking about setting it up
as a web based application and let them run it from their browser. If
things go well, may be I can charge them for usage later.

The application will involve getting a data file from the user, do some
processing, and return a result file to the user. Very modest - to
start.

For that kind of usage I don't know if any of the big name web
frameworks would be worth the effort, especially if returning a result
file entails making it available for download instead of handing it
back in the form of an HTML page. At that point all you would really
need is a controller to handle most of the details of working in HTTP
and maybe a templating system to help out with the HTML.

The only controller that is available independently that I can comment
on usefully is Cherrypy. It works pretty well, can run its own web
server if you like, and seems like it would be simple enough to use for
what you are talking about.

Without knowing more about your requirements that would be my
suggestion. I am sure there are other people on this group with more
experience here who could give more useful commentary.

-Adam
Thanks, I am checking out CherryPie

Sep 9 '06 #10
James Stroud a écrit :
Hello All,

I am interested in setting up a modest invoicing system for some
consulting I am doing. I like the idea of managing this on the web and
creating invoices and printing them from a browser. However, I'm not
really sure where to start. I've played with some CMS applications, but
they seem more for blogging (mamba, wordpress, etc.). Ideally, I would
like to interface with mySQL (or whatever the favorite web-flavor
database app is these days). I would like to be able to use my python
skills.

I confident that if I set out to write this from scatch, I will be
seriously re-inventing the wheel, perhaps several times over.

So, my question is, does anyone know of a book and/or some kind of
framework that would make the best sense for what I am describing here?
Web-base front-end to a SQL database... Pylons, Turbogears or Django
comes to mind. Or a custom-made stack (see link below)...
I've heard of Zope, but I would like to make sure its appropriate for
the job before I spend 2 or 3 days getting acquainted with it.
Lol. Make it 2 or 3 monthes. And before you loose your time: Zope is
certainly not the best choice here.
I'm adept
at HTML, python, CSS, python-CGI, and interfacing with mySQL through
DBI. I'm sure I could get something to work with these skills, but I
want to minimize wheel re-invention as much as possible.

Basically, I want a jump start on data-base oriented web development
with a focus on applying my python skills.

Any suggestions will be greatly appreciated.
This serie of articles may be of interest to you:
http://adminspotting.net/building-we...s-with-python/

HTH
Sep 9 '06 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

37
10385
by: Ubaidullah Nubar | last post by:
Hi, How well is Python suited for developing database based applications? I am new to Python so please bear with me if some of the questions are too simple. I specifically have the following...
9
2277
by: Dan Cescato | last post by:
When I try to build Python 2.3 on HP-UX 10.20 using their cc compiler, I get a compile failure. It comes down to Python/thread_pthread.h deciding that my machine is an unsupported system, as...
17
2036
by: Nick | last post by:
I am doing some research into building web applications using Object Oriented techniques. I have found the excellent patterns section on the MSDN site, but other than that I cannot find any good,...
12
1569
by: Ray | last post by:
Hello, I've got the chance to determine the technology to use in creating a product similar to this: http://www.atomicisland.com/ Now the thing is that I need to sell this to the guy with...
28
2596
by: H J van Rooyen | last post by:
Hi, I want to write a small system that is transaction based. I want to split the GUI front end data entry away from the file handling and record keeping. Now it seems almost trivially easy...
7
1342
by: digimotif | last post by:
All, I'm currently working with a small development company on a PHP application they already have. There are several processing tasks that could be scripted in Python and run in the background...
20
2595
by: Thorsten Kampe | last post by:
Hi, I've already sent this to the Komodo mailing list (which seemed to me the more appropriate place) but unfortunately I got no response. I'd like to build a Python GUI app. Neither Tkinter...
15
3187
by: kyosohma | last post by:
Hi, I am trying to get a small group of volunteers together to create Windows binaries for any Python extension developer that needs them, much like the package/extension builders who volunteer...
0
7105
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
1
7023
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7479
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5617
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5037
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3178
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1534
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
757
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
410
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.