【问题标题】:paths not being consistent python django路径不一致 python django
【发布时间】:2009-10-27 00:36:15
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python django sorl-thumbnail import


    【解决方案1】:

    您不需要在导入时使用项目名称 - 只需确保应用程序位于您的 python 路径中的某个位置。大致如下:

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

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

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

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

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

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

    【讨论】:

    • 解释得很好,你给了我很好的选择让我遵循......也非常有用的信息,非常感谢你花时间写这篇文章。
    猜你喜欢
    • 2014-06-24
    • 2011-03-11
    • 2010-11-12
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2021-06-24
    • 2011-12-30
    • 2016-05-16
    相关资源
    最近更新 更多