【问题标题】:Call module without shell无壳调用模块
【发布时间】:2013-07-29 18:30:57
【问题描述】:

在我的一些 django 实用程序类中,我想定义一个 main 方法,这样我就可以调用我的模块而无需使用 shell。 (致电__name__ == "__main__")这可能吗?如果是这样,我该如何拨打这个电话?

from django.conf import settings

... # Define module code here

if __name__ == "__main__":
    print(settings.DEBUG)
    # interact with classes defined in this module which require django classes

【问题讨论】:

  • 写自定义django-admin command
  • 添加sys.path.append("/path/to/MyModule.py")然后你可以import MyModule

标签: python django main


【解决方案1】:

这取决于你的意思。一般来说,您可以编写使用 django 基础设施的程序,并与您的 django 应用程序分开运行(从某种意义上说,它们不会提供任何内容),但仍然可以例如影响数据库中的数据。你可以按照你提议的方式去做。

如果您想与正在运行的 django 服务进行交互,自定义命令可能更合适。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多