如何在使用pycharm时在django上下文中运行任意脚本?
在django上下文中运行arbirtary脚本可以轻松开发后台任务或进行临时查询。标准答案是将脚本添加到自定义命令中,但是,我并不习惯该工作流程,如果您不打算像这样公开它,这似乎是不必要的步骤。
这是一个问答帖子,因为我无法在StackOverflow中的任何地方找到这种技术,我认为这会有所帮助。我想在学习Django的第三个小时内得到答案。
答案 0 :(得分:0)
我刚开始使用django。可能有更好的方法,但我正在开发一些最终将被发送到芹菜的任务,并且在开发它们时,我发现在django上下文中快速运行它们很方便。我用pycharm
要做到这一点:
设置标准的python运行环境,并使脚本成为您要执行的脚本。 添加一个环境变量DJANGO_SETTINGS_MODULE并将其设置为settings.py的python导入路径。例如,如果settings.py位于名为myapp的目录中: DJANGO_SETTINGS_MODULE = myapp.settings
将工作目录设为您的项目根目录 离开"添加内容根" &安培; "添加源根"勾选复选框。
在脚本中,在顶部添加以下两行:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
现在你可以使用
了if __name__ == "__main__":
并且你已经开始运行了。
或运行测试或其他任何内容。
然后运行需要Django上下文的脚本很容易:
PYTHONPATH=${PYTHONPATH}:. DJANGO_SETTINGS_MODULE=project.settings python dir1/dir2/myscript.py
从正常的django根目录运行它。
感谢:Stavros Korokithakis https://www.stavros.io/来自这篇文章:https://www.stavros.io/posts/standalone-django-scripts-definitive-guide/