【问题标题】:Where to place external python scripts in a Django project?在 Django 项目中将外部 python 脚本放在哪里?
【发布时间】:2015-11-12 04:27:17
【问题描述】:

有人应该在哪里为她的 Django 项目放置任何外部 python 脚本?哪个位置更合适(如果有)?她应该在主 Django 项目中创建一个文件夹并将其放在那里并将其添加到 python 路径中,还是有更好的方法来处理这个问题?使用外部脚本的原因是不要使用可以更好地组织在脚本文件中并且可以提供多个视图的代码来重载视图。

【问题讨论】:

    标签: python django django-views


    【解决方案1】:

    添加项目路径应在您的manage.py 完成,但如果您想在请求到达views.py 之前做一些事情,您可以使用middlewareshttps://docs.djangoproject.com/en/1.8/topics/http/middleware/

    【讨论】:

      【解决方案2】:

      您可以在自己的文件中添加具有通用代码的其他文件,并在需要时将它们导入您的视图或其他任何内容。如果它们只用于一个应用程序,那么只需将它们放在该应用程序文件夹中。如果它们更通用,那么您可以将它们放在不属于任何特定应用程序的文件或文件夹中。

      Django 对它期望存在的文件和文件夹做了一些神奇的事情,但是你可以将其他文件放在任何你想要的地方,它就像任何其他 Python 项目一样工作。

      【讨论】:

      • 我这样做了,当我在主项目文件夹中添加 python 脚本并尝试从 Django 交互式 python shell 导入它时,它可以工作,但是当我在那里创建一个文件夹并放置在脚本中时,这是没有被发现。那么我该如何声明这个文件夹。只需将它添加到 python 路径就可以了,还是更好的方法?
      • 如果您将它们放在一个文件夹中,您需要将一个名为__init__.py 的文件添加到该文件夹​​中。它可以是空的。之后,您应该可以从文件夹中导入文件了。
      • 非常感谢!正确答案,但我首先阅读了@gamer 的答案,这也是正确的,因此将他标记为正确,您投了反对票....再次感谢!
      【解决方案3】:

      创建一个文件夹,比如 utils,并通过在其中创建 __init__.py 使其成为一个模块。 现在在此文件夹下创建任何脚本。假设您有一个名为 utils.py 的文件,其中包含一些 Python 代码,并且您想要导入它。

      无论你想在哪里导入,然后像这样导入你的 python 脚本

      from utils.utils import YourClassOrFunction
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-13
        • 1970-01-01
        • 1970-01-01
        • 2018-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多