Django、单独执行项目下的某个脚本

环境

Python2.7、Django1.6

问题描述

今天碰到一个这样的情景,需要在Django项目中单独执行某个脚本,但是又要使用Django项目的环境变量。显然直接python script_name.py是不行的,会报出ImportError: No module named somemodule的问题。

解决办法:使用自带的Django she'll

python manage.py shell < script_name.py

注意事项

脚本文件的内容注意不能用if __name__ == '__main__':做判断,而是应该直接写在文件中,示例如下:

Screenshot from 2017-07-03 15:27:23.png

疑惑在于,实际上__name__的值确实是'__main__',但是不知道为什么进不去这个判断,如果有大神知道为何,还请赐教。

推荐阅读更多精彩内容