我有一个首先用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。
所以在某种程度上,我认为这个问题已经解决了。
感谢大家的时间。 :)
答案 0 :(得分:0)
如果您只使用纯Python应用程序,那么它应该在CPython和Jython之间工作,前提是您修改了数据库后端。如果您的任何应用程序中都有C模块,那么您需要移植相关代码以使用Python或Java库。