[IronPython] Python Pages -- web application stack (like django, rails, ...)

Jimmy Schementi Jimmy.Schementi at microsoft.com
Thu Jun 12 07:53:06 CEST 2008

Awesome about the Silverlight integration! I'll check it out soon and let you know what I think =)

About the templating language; there's a good reason why other frameworks don't use python as the templating language ... because of significant white-space. We did this in the ASP.NET futures release though (http://www.microsoft.com/downloads/details.aspx?FamilyId=A5189BCB-EF81-4C12-9733-E294D13A58E6&displaylang=en), and it's less than ideal. You use endif, enddef, endfor, etc, for scope-ending keywords, which basically changes the language and makes it *not* Python. So, if I were you I'd watch out by calling it Python. That's just my $0.02 though ... anyone else agree?

From: users-bounces at lists.ironpython.com [users-bounces at lists.ironpython.com] On Behalf Of Jonathan Slenders [jonathan at slenders.be]
Sent: Wednesday, June 11, 2008 5:36 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Python Pages -- web application stack (like django,   rails, ...)

2008/6/12 Jonathan Slenders <jonathan at slenders.be<mailto:jonathan at slenders.be>>:

2008/6/12 Tim Roberts <timr at probo.com<mailto:timr at probo.com>>:

On Thu, 12 Jun 2008 01:09:01 +0200, "Jonathan Slenders" <jonathan at slenders.be<mailto:jonathan at slenders.be>>
I'm working on a web application framework in Python, and just uploaded the
first release.

Now I quote from my own README. What it actually does is:

- Provide an easy way to embed Python code into HTML, similar to PHP, JPS
and other server side languages.
- Make reusing HTML very easy. It uses concepts like master pages and
 including of other pages as a control. This is a very rich template

May I ask what motivated you to create this from scratch?  There are a number of excellent Python web application frameworks available today, several of which have syntax and functionality almost exactly like yours.

I'm not trying to say you shouldn't do such a thing, but people in the world at large already complain there are too many web frameworks for Python.  I'm just wondering why you didn't choose one of the existing frameworks that was close to what you wanted, and become a contributor to that.  Was there something you thought was fundamentally missing from the others?

Dear Tim,

You should know that I've been working on this project for about a year and a half. Apart from Django, I didn't know even one framework that I liked during this development. (Actually, at the start I didn't know about Django, later on I did and realised it was good but had my reasons not to use it. I'm not going to discuss it now.)

All that time it's just been the back-end for my personal web site - I had never the intend to publish it. But the framework became gradually more and more extensive and since a half year I realized that it was well designed and could compete with others.
Some of my best friends are very active Django users, and when I showed my framework, they also said that it was pretty similar to that.

If you know that many Python web frameworks, I'd really like to hear about it. (I've seen several, yes, but some were very outdated and and not maintained anymore)
Because I don't know much of them it's hard to say what I missed. But what I wanted was:

- query parameters should be available as variables, but they shouldn't be unpacked by default as was in PHP years ago (I want to declare the variables that should be accepted)
- It *should* work perfectly well without database. (at the start of this project, my hosting had no database)
- code should be reusable with master pages like ASP.net does
- when a master page is stored in another directory than the url's ("<a href=...".) should be rewritten in a way so that they are always reusable to the page from where the are generated
- form input fields should be available as objects.

Again, I didn't know any framework that does all this. Django needs a database (not?) and the others which I found were crap, sorry....


OK, I have to take my word back. Django can run without database. But still, it's totally different, it has a custom template language, while I'm actually using Python itself als template language. Pylons -- what I just found -- also seems to have a custom (and thus limited) template language. I think this is unique, isn't it?

More information about the Ironpython-users mailing list