django-extensions: 运行 使用 runscript 的脚本,它位于脚本中的文件夹内
django-extensions: Run a script using runscript which is inside a folder within scripts
我遇到问题 运行使用 django-extensions 中包含的 运行script 命令在 scripts 文件夹内的文件夹中设置脚本。
我项目中的文件夹结构如下:
-apps
-scripts
-syllabus
-first.py
-second.py
文件 first.py 和 second.py 相同。
它具有 django-extension 运行script 命令所需的 运行 功能。
def run(*args):
# my function call for the script.
我已经很好地放置了 init.py 并且我可以从命令 运行 second.py:
./manage.py runscript second --script-args=excel.xlsx
但是我无法通过 运行script 命令 运行 first.py 文件。使用此命令:
./manage.py runscript first --script-args=excel.xlsx
我明白了
No (valid) module for script 'first' found
Try running with a higher verbosity level like: -v2 or -v3
我什至尝试 运行 更高的冗长级别,在末尾添加 -v2
和 -v3
。但是得到这个错误:
No (valid) module for script 'first' found
我知道我遗漏了一些简单的东西,有人可以帮我吗?
我对 Django 没有任何经验。但是可以通过在模块查找路径中添加 syllabus
来解决问题。为此,请在 scripts
目录下的 __init__.py
文件中添加以下代码。
import sys
import os
curr_path = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, curr_path + '/syllabus')
或者另一种方法是告诉 python syllabus
本身就是一个模块。在这种情况下,您只需将 first.py
重命名为 __init__.py
。然后你必须调用它作为
./manage.py runscript syllabus --script-args=excel.xlsx
您需要运行脚本如下:
/manage.py runscript scripts.syllabus.first --script-args=excel.xlsx
这里的scripts和syllabus是两个包含__init__.py
.
的目录
我遇到问题 运行使用 django-extensions 中包含的 运行script 命令在 scripts 文件夹内的文件夹中设置脚本。
我项目中的文件夹结构如下:
-apps
-scripts
-syllabus
-first.py
-second.py
文件 first.py 和 second.py 相同。
它具有 django-extension 运行script 命令所需的 运行 功能。
def run(*args):
# my function call for the script.
我已经很好地放置了 init.py 并且我可以从命令 运行 second.py:
./manage.py runscript second --script-args=excel.xlsx
但是我无法通过 运行script 命令 运行 first.py 文件。使用此命令:
./manage.py runscript first --script-args=excel.xlsx
我明白了
No (valid) module for script 'first' found
Try running with a higher verbosity level like: -v2 or -v3
我什至尝试 运行 更高的冗长级别,在末尾添加 -v2
和 -v3
。但是得到这个错误:
No (valid) module for script 'first' found
我知道我遗漏了一些简单的东西,有人可以帮我吗?
我对 Django 没有任何经验。但是可以通过在模块查找路径中添加 syllabus
来解决问题。为此,请在 scripts
目录下的 __init__.py
文件中添加以下代码。
import sys
import os
curr_path = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, curr_path + '/syllabus')
或者另一种方法是告诉 python syllabus
本身就是一个模块。在这种情况下,您只需将 first.py
重命名为 __init__.py
。然后你必须调用它作为
./manage.py runscript syllabus --script-args=excel.xlsx
您需要运行脚本如下:
/manage.py runscript scripts.syllabus.first --script-args=excel.xlsx
这里的scripts和syllabus是两个包含__init__.py
.