不得不承认,jython在这方面跑在ironpython前面了,虽然从现在公布的信息,ironpython兼容cpython更多些,但实际中跑起来,却是相反的现象。 django on ironpython 我并没有完整的跑下来过。当然,我测试过那个 0.96 跑出manage.py runserver 来,但其他的就不好说了,导入模块的速度和一些暴露出来的问题让你感觉根本没有继续尝试的必要。
jython在windows 下面跑django有很多问题。 但在ubuntu 下则非常正常。 可能是一些平台相关的特征还没有处理好,像路径。在windows下面startapp会出现问题。 而且简单 的import datetime会说找不到datetime(在django中)。
不管细节的性能测试。 总的来说,jython实际 的感觉跑起来比ironpython快多了。特别是处理 导入时,感觉同cpython相差不大。
http://wiki.python.org/jython/DjangoOnJython
参考 通过modJy在GlassFish中运行django
http://fwierzbicki.blogspot.com/2008/04/jython-and-django-progress-part-ii.html
注:
1. 在跑admin时会出现
NotImplementedError: SystemRandom not implemented on Jython.
这个SysstemRandom依赖的较多,所以一些东西还是不能直接跑起来, 想要测试的话,可以修改Lib/random.py文件
注释掉SystemRandom类,这是因为django代码通常会这样调用Random模块
if hasattr(random, 'SystemRandom'):
randrange = random.SystemRandom().randrange
else:
randrange = random.randrange
当然,你也可以增加 一个 mock类
class SystemRandom(WichmannHill):
pass