我正在尝试将damang中的sorl-thumbnail导入我的应用程序。现在我设置网站的方式,使用带有cpanel的CentOS 5上的mod_wsgi,应用程序的路径在导入时必须具有项目名称...这很痛苦。
显然,这是应用程序可移植性问题的一个原因。我正在导入sorl-thumbnail,在以前的应用程序中,我刚刚将sorl.thumbnail添加到已安装的应用程序中,并且它已经运行。
但是现在它会导致问题,除非我在导入路径前面有项目名称www.
。它以前从未这样做过,我似乎无法绕过路径问题。
我也添加了www.sorl.thumbnail
,但sorl
文件中的其余路径都有错误。关于如何解决这个问题或修复工作的任何想法?
答案 0 :(得分:3)
导入时不需要使用项目名称 - 只需确保应用程序位于python路径上的某个位置即可。有点像:
sys.path.append('/etc/django/domains/mydomain.com/myproject/')
你的.wsgi文件中的...应该这样做(当然是你自己项目的路径)。
理想情况下,可重用的应用程序应该在项目目录之外,因此请考虑创建一个文件夹,例如'/ etc / django / lib /',以包含可重用的应用程序,并将其附加到wsgi处理程序中的sys.path。
或者,如果您不喜欢,可以使用virtualenv并将可重复使用的应用程序直接添加到网站包。
或者,如果您不喜欢这样,请将可重用的应用程序放在其他位置,并将它们符号链接到站点包或python路径上的某个位置。
简而言之,只需确保您导入的包/模块位于python路径上。如果您发现自己将项目名称或“www”添加到一堆导入路径中,那么您可能做错了。