Tutorial :Python 2.4 inline if statements


I am setting up an existing django project on a dreamhost web server, so far I have got everything to work correctly. However I developed under python 2.5 and dreamhost by default uses python 2.4. The following line seems gives a syntax error because of the if keyword:

'parent': c.parent.pk if c.parent is not None else None                         ^  

Is it the case that this form of if statement was introduced in Python 2.5, if so is there an easy change that would make it compatible with Python 2.4?

Or, should I just change to Python 2.5. I have already installed python 2.5 to a directory under my home directory, and have succeeded in running the python interpreter under 2.5. If I wish to use Python 2.5 for everything, where can I set this?


Yes, this kind of inline if was added with 2.5, released almost 4 years ago. You can update your Dreamhost version like this



(1 and [a] or [b])[0]  'parent': (c.parent is not None and [c.parent.pk] else [None])[0]  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »