1

我正在尝试将 sorl-thumbnail 导入到我在 django 中的应用程序中。现在我设置站点的方式,在 CentOS 5 上使用 mod_wsgi 和 cpanel,应用程序的路径在导入时必须具有项目名称......这很痛苦。

显然,这是应用程序可移植性问题的一个原因。我正在导入 sorl-thumbnail,在以前的应用程序中,我刚刚将 sorl.thumbnail 添加到已安装的应用程序中并且可以正常工作。

但是现在除非我www.在导入路径前面有项目名称,否则它会导致问题。以前从未这样做过,我似乎无法解决路径问题。

我也添加www.sorl.thumbnail了,但是文件中的其余路径sorl有错误。关于如何解决这个问题或解决问题的任何想法?

4

1 回答 1

3

导入时不需要使用项目名称 - 只需确保应用程序位于 python 路径中的某个位置。类似于以下内容:

sys.path.append('/etc/django/domains/mydomain.com/myproject/')

...在您的 .wsgi 文件中应该这样做(当然,使用您自己项目的路径)。

理想情况下,可重用应用程序无论如何都应该位于项目目录之外,因此请考虑创建一个文件夹,例如“/etc/django/lib/”以包含可重用应用程序,并将其附加到 wsgi 处理程序中的 sys.path 中。

或者,如果您不喜欢这样,也许可以使用 virtualenv 并将您的可重用应用程序直接添加到站点包中。

或者,如果您不喜欢这样,请将可重用的应用程序放在其他地方,并将它们符号链接到站点包或 python 路径上的某个地方。

简而言之,只需确保您要导入的包/模块在您的 python 路径上。如果您发现自己将项目名称或“www”添加到一堆导入路径中,那么您可能做错了什么。

于 2009-10-27T02:46:11.500 回答