Let meet at djangodash

May 4th, 2008

As prob­a­bly many of you already knows, on May 31 will begin the Django dash com­pe­ti­tion. Djan­go­dash is:

[…] is a chance for Django enthu­si­asts to flex their coding skills a little and put a fine point on “per­fec­tion­ists with dead­lines” by giving you a REAL dead­line. 48 hours from start to stop to pro­duce the best app you can and have a little fun in the process.

I’ll be par­tic­i­pat­ing, so if you haven’t reg­is­tered yet, do it now! And don’t forget to check out the cool prizes :)

Forcing ImageField width/height in django

March 2nd, 2008

Ultimately I had to force the size of a uploaded image in the django admin area to a fixed dimen­sion of 620x250px. Even if it could look a simple thing, in fact it isn’t.

The main issue is that even if an Image­Field has a width_field/height_field option that refers to (pre­sum­ably) inte­ger fields that will be auto-​filled with the image size, we can’t ran a val­ida­tor across those fields (we can do so only in a form, but my prob­lem was to val­i­date the image in the admin area). So we have to man­u­ally load the image in memory and run a custom val­ida­tor that uses PIL to get the needed infor­ma­tion and val­i­date the image.

(Con­tinue reading…)

0 Comments, tagged with Coding,Django,Web

When the “Python Vs PHP” war matters

February 21st, 2008

Yesterday I had a meet­ing with a cus­tomer about a new site I should develop for them. Since they’re a book pub­lisher, they wanted an online book store. Apart from the tech­ni­cal details (the site isn’t as simple as you may believe, they need a lot of not-so-easy-to-do stuff), the most impor­tant point we focused on is the fact that they have an inter­nal IT tech­ni­cian that han­dles all their com­puter needs. If you’re asking your­self why this mat­ters, keep reading:

  • me (to be precise, my company) stopped development of PHP sites about one year ago in favor of Python
  • we release the web site’s code to them
  • for this project, we haven’t been asked any kind of future support; this means that when the site is finished, we won’t touch the product anymore (unless they don’t pay us to do the modifies they need)
  • but they don’t want to pay us to these modifies, because they have their internal IT technician
  • their technician knows only PHP (and he never even known the Python’s existence until yesterday)

(Con­tinue reading…)

Django and syncdb’s signal processing

January 1st, 2008

One fea­ture of django is worth to note is that it sup­ports sig­nals. In fact, under its skin it imple­ments PyDis­patcher, a python library that allows to emit sig­nals and to dis­patch them.

If at first glance this couldn’t look so useful to you, well, this hasn’t been true for me since it was exactly that kind of stuff I was look­ing for. What I was trying to do was to imple­ment some kind of auto-​installer for an appli­ca­tion that I’m writ­ing, and in order to do so I had to run the set up after that the syncdb com­mand is issued. So the main prob­lem was: how do I know when a user does the syncdb in a non-​intrusive way?

After some googling, I found that in django exists the semi-​hidden fea­ture of sig­nals, so I began explor­ing them. The only thing you can look at on the offi­cial site is a page on their wiki, and addi­tion­ally there are some cool arti­cles over the net. Anyway, if you want to know a fast way to catch the syncdb com­mand just follow up the reading.

(Con­tinue reading…)

« Previous PageNext Page »

Microblogging

  1. January 28th

    1. Finally something to eat! http://t.co/FH3x3oGR [krat]

      1:10am via Twitter

  2. January 27th

    1. Finally some cleanup on my inbox. Feels cleaner now. [krat]

      5:13pm via Twitter

  3. January 26th

    1. panzerotti & peroni [krat]

      7:49pm via Twitter

  4. January 25th

    1. I lost count of how many times I wanted to expand the tweet stream and clicked "favorite" instead [krat]

      11:15am via Twitter

  5. January 23rd

    1. It's hateful when you have to chase people who owe you some money [krat]

      5:45pm via Twitter

    Powered by Lifestream.

Search