> I am very interested in Python and Django for a future project but I
> am noticing this is a period of big changes in this community. Python
> 3000 and Django 1.0 will really be a major change.
They will be big changes, but don't really align in terms of timeline.
> I am not afraid of using Alpha versions, and I want to use latest
> technologies and my mind rejects any forced changes in the code due to
> new releases. If I do something I don't want to touch it again.
> So I want to start straight with Python 3000.
Even if you coded in Python 3000, it's not like Django doesn't
sometimes introduce backwards incompatible changes. Plus, I highly
doubt any serious effort will be made to make sure Django works on
Python 3000 until after Django 1.0 and (likely) until after Python
3000 exits alpha state.
> Would this be compatible with Djanga? If not when do you expect it to
> be compatible?
> I prefer waiting than recoding, so I wanted an idea on timelines...
> any thoughts?
I'd posit with fair confidence that Django 1.0 will come long, long
before Python 3000 reaches a non-alpha state.
If you want to use Django for something, I'd start now -- or with
1.0. Waiting for Python 3000 is a bit silly.
---
David Zhou
da...@nodnod.net
This came up a little while ago (around the time of PyCon 2008), so if
you search the archives, you can find a lot more discussion on the
topic.
However, the short version:
* There are currently no formal plans to support Python 3000. Efforts
are currently focussed on Django 1.0.
* There isn't a huge need to be on the cutting edge here - we still
maintain Python 2.3 support because it is used by a few deployment
environments that are in common usage. It will be some time before
Python3000 is in common usage everywhere.
* Exploratory work has been done on porting Django to Python 3000 -
initial reports are that there isn't a huge amount of work to be done
on our code base.
* The bigger problem you will encounter isn't Django - it's the chain
of support libraries. At the very least, you will need Python3000
versions of mod_python and a database backend. To the best of my
knowledge, these tools aren't available in Python3000 versions - until
they are, there isn't much point having a Python3000 version of
Django.
* If you follow the official Python guidelines for handling the
2->3000 transition, you shouldn't need to do much recoding of your own
code.
Yours,
Russ Magee %-)
You could easily start now with the development version, and learn
enough to get a good feel for django. You won't have to unlearn all that
much to make the transition to 1.0. There will be backwards-incompatible
changes, but they are rigorously documented.
If you have enough to do in the mean time, it wouldn't hurt to at least
go through the django tutorial. [0] It shows how to do most of the
basics-- and is rather fun to do the first time you go through it. :)
Have fun!
Jeff Anderson