2017-06-06 44 views
-2

如何在使用pycharm时在django上下文中运行任意脚本?如何从pycharm在django上下文中运行脚本

在django上下文中运行一个arbirtary脚本可以很容易地开发后台任务或做临时查询。标准答案是将脚本添加到自定义命令,但是,我不习惯于该工作流程,如果您不打算像这样公开它,似乎是一个不必要的步骤。

这是一个问题和答案的帖子,因为我无法在StackOverflow中的任何位置找到此技术,我认为这会有所帮助。在我学习Django的第三个小时我想要一个答案。

回答

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/

相关问题