Django does work on Jython, although you’ll need to use the development release of Jython, since technically Jython 2.5 is still in beta. However, Django 1.0 and up should work unmodified.
So as to whether you should use the regular Python implementation or Jython, I’d say it’s a matter of whether you prefer having all the Java libraries available or all of the Python libraries. At this point you can expect almost everything in the Python standard library to work with Jython, but there are still plenty of third-party packages which will not work, especially C extension modules. I’d personally recommend going with regular Python, but if you’ve got a ton of JVM experience and want to stick with what you know, then I can respect that.
As for finding Python hosting, this page might be helpful.
I’d say that if you like Django, you’ll also like Python. Don’t make the (far too common) mistake of mixing past language’s experience while you learn a new one. Only after mastering Python, you’ll have the experience to judge if a hybrid language is better than either one.
It’s true that very few cheap hostings offer Django preinstalled; but it’s quite probable that that will change, given that it’s the most similar environment to Google’s app engine. (and most GAE projects can be made to run on Django)
I have recently started working on an open source desktop project in my spare time. So this may not apply. I came to the same the question. I decided that I should write as much of the code as possible in python (and Django) and target all the platforms CPython, Jython, and IronPython.
Then, I decided that I would write plugins that would interface with libraries on different implementations (for example, different GUI libraries).
Why? I decided early on that longevity of my code may depend on targeting not only CPython but also virtual machines. For today’s purposes CPython is the way to go because of speed, but who knows about tomorrow. If you code is flexible enough, you may not have to decide on targeting one.
The downside to this approach is that you will have more code to create and maintain.
- Django – filtering by "certain value or None"
- Django: How can I check the last activity time of user if user didn't log out?
- Disable Django Debugging for Celery
- Raise ValidationError from pre_save receiver function?
Django is supposed to be jython-compatible sinc version 1.0.
This tutorial is a bit outdated, but from there you can see there are no special issues.
- How do you make a case for Django [or Ruby on Rails] to non-technical clients
- Uwsgi http is ambiguous