Jython可以使用Python制作的Django项目吗?

时间:2012-06-25 21:36:03

标签: python django jython

我有一个首先用Python编写的Django项目。然后我们意识到使用Jython可能有一个优势。

花了一两天的时间摆弄Jython试图让原始项目在Jython中运行,我意识到问题可能是我试图运行用Python生成的Django项目。我想也许django-jython项目可能只影响使用Jython生成的所有Django代码。

可能是这种情况吗?我尝试运行 jython manage.py syncdb 时弹出的错误是 django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为MySQLdb的模块除外如果我的配置说'ENGINE':'doj.backends.zxjdbc.mysql'那么django-jython应该这样做,那么它会运行正常。哦,我的classpath确实包含了mysql-connector-java-5.1.20-bin.jar

有任何帮助吗?提示?批评?

编辑:哦,对不起。在Jython中,我有

Django : 1.3.1 
Jython : 2.5.2 
django-jython : 1.3

数据库看起来像这样:

DATABASES = {
    'default': {
        'ENGINE': 'doj.backends.zxjdbc.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'django_abcd',                      # Or path to database file if using sqlite3.
        'USER': 'abcdef',                      # Not used with sqlite3.
        'PASSWORD': 'ghijkl123',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

编辑2 :所以我觉得我发现了一些问题。 Jython正确地设置了它自己的东西,但是当我向JYTHONPATH添加内容时会产生冲突(特别是当我将原始的python site-packages包含到JYTHONPATH中时)。而不是Jython告诉我模块名称MySQLdb,它告诉我它现在缺少Grappelli。

所以在某种程度上,我认为这个问题已经解决了。

感谢大家的时间。 :)

1 个答案:

答案 0 :(得分:0)

如果您只使用纯Python应用程序,那么它应该在CPython和Jython之间工作,前提是您修改了数据库后端。如果您的任何应用程序中都有C模块,那么您需要移植相关代码以使用Python或Java库。